iOS

HDU7328 Snake

HDU7328 Snake tag: 容斥,生成函数 题目链接 题意: 1到n个数,分成m组,组队元素排列顺序不同则为不同的组,且每组元素个数不能超过k,问有多少种方案。 容斥做法: 暂且不管排列的事情,先把问题看成求n个球,m个盒子,盒子不能为空,且每个盒子中球数不能超过k。 要保证每盒球数不超过k,我们可通过容斥来解决,定义f(i)为至少i个盒子球数超过k了,最终答案ans即为: f(0)-

高级 / 资深前端面试题集锦

以下是一线互联网公司高级前端面试题总结,包括百度、腾讯、网易、字节、知乎、京东、滴滴,小米,感兴趣的欢迎留言交流。 1、请简述Js Bridge 2、请说一下SSR的单机QPS 3、请说一下eggJs的初始化原理 4、前端错误如何捕获,promise的错误是如何捕获的 5、vue的dom diff算法 6、vue的ChildNode diff算法 7、HTTP的400、401、403的区别 8、请

OpenApi(Swagger)快速转换成 TypeScript 代码 - STC

在现代的 Web 开发中,使用 OpenAPI(以前称为 Swagger)规范来描述和定义 API 已经成为一种常见的做法。OpenAPI 规范提供了一种统一的方式来描述API的结构、请求和响应,使得开发人员能够更好地理解和使用 API。 然而,手动编写与 OpenAPI 规范匹配的客户端代码或服务端框架可能是一项繁琐且耗时的任务。这就是为什么使用 STC(Swagger Transform C

文件的上传与下载

示例源码: https://gitee.com/achieve502938049/apprentice-file.git 单文件上传 客户端 前端通过 <input type="file"> 获取 File 对象,通过 FormData 二进制传输。 服务端 借助 multer 中间件,会将文件暂缓存到指定目录中,再通过文件流写入指定路径。 多文件上传 客户端中 <inpu

Nule 题解

1.题意简述: 给定一个N行N列的非负整数方阵,从左上角(1,1)出发,只能向下或向右走,且不能到达值为0的方格,求出一条到达右下角的最佳路径,所谓最佳路径是指途径的数的乘积的末尾连续的0最少。 2.样例解释: 这个样例有多重走法,这里给出两个: 1. 1->3->8->2->25->3->4 最终结果为14400 2.1->3->8->5

暑假牛客多校第五场 2023-8-4(E、G、C)

未补完 E. Sequence 算法:前缀和 做法:我们对于一段区间[l, r]一定要求其总和为偶数才能部分满足题目要求,为奇数则是不可能构造一个或多个区间和都为偶数。另外我们观察b[l - 1],我们发现对于[l, r]中的每个前缀和b[i] (i in [l, r]),我们都有当前a[i]为偶数且a[i]前面的奇数个数为偶数或者a[i]为奇数且a[i]前面的奇数个数加一为偶数时,b[i]必

C/C++ 数据结构五大核心算法之回溯法-N皇后问题

N皇后问题:在 n * n 的棋盘上要摆 n 个皇后,要求:任何两个皇后不同行,不同列也不在同一条斜线上,求给一个整数 n ,返回 n 皇后的摆法数。 1.非递归调用: 2.递归调用:

洛谷 P1553 数字反转(升级版)

题目描述 给定一个数,请将该数各个位上数字反转得到一个新数。 整数反转是将所有数位对调。 小数反转是把整数部分的数反转,再将小数部分的数反转,不交换整数部分与小数部分。 分数反转是把分母的数反转,再把分子的数反转,不交换分子与分母。 百分数的分子一定是整数,百分数只改变数字部分。 数据没有负数。 分析 这道题具体实现并不难,但是有点坑。 首先写出大体框架: 接下来依次实现各部分。 整数比较

Codeforces Global Round 24 D. Doremy's Pegging Game

首先我们可以假设最后一个删除的peg编号是x,那么可以发现每个编号结尾的方案数是一样的,可以只专注计算最后删1号peg的方案数,然后乘一下就好 然对于1来说,我们需要找到一个(x, y) 的组合,x和y之间允许剩pegs,但是1到x,以及y到1之间的pegs都被移除,这个状态在此时依然没有触碰blue peg,但在1被移除之后就会结束游戏,这个结果是可以通过组合数预先计算出来的

P5029 T'ill It's Over

一个序列 (d{n} = {1}),有 (m) 种操作,每种操作都有一个操作次数的最大限制,且可以分为 (4) 类: 1. 将任意一个满足 (d_i = a) 的 (d_i) 改为 (b); 2. 将任意一个满足 (d_i in [a1, a2]) 的 (d_i) 改为 (b); 3. 将任意一个满足 (d_i = a) 的 (d_i) 改为 ([b1, b2]) 中的一个数; 4. 将任意一个

2023牛客暑期多校训练营6 GEC

2023牛客暑期多校训练营6 G-Gcd 题意:一开始给你一个集合(S = lbrace x,y rbrace(xneq y))。然后你可以执行以下两个操作: 1.从(S)中选择两个元素(a,b(a neq b )),把(a-b)加入集合。 2.从(S)选择2个元素是(a,b(a neq b )),把(gcd(|a|,|b|))加入集合里面。 特别的,(gcd(a,0) = gcd(0,a)

【LuoGU 1462】通往奥格瑞玛的道路——最短路+二分

通往奥格瑞玛的道路 题目背景 在艾泽拉斯大陆上有一位名叫歪嘴哦的神奇术士,他是部落的中坚力量。 有一天他醒来后发现自己居然到了联盟的主城暴风城。 在被众多联盟的士兵攻击后,他决定逃回自己的家乡奥格瑞玛。 题目描述 在艾泽拉斯,有 (n) 个城市。编号为 (1,2,3,ldots,n)。 城市之间有 (m) 条双向的公路,连接着两个城市,从某个城市到另一个城市,会遭到联盟的攻击,进而损失一定的血量。

vnc Ubuntu18.04~Ubuntu22.04安装并配置

原文链接:Ubuntu18.04~Ubuntu22.04安装并配置VNC (yii666.com)   文章目录 前言 一、VNC是什么? 二、系统环境 1.前提 2.打开Share开关 3.安装x11vnc 4.测试 1.使用方法 2.重要补充 总结   前言 有些操作需要Desktop环境而又不方便去现场看的这个方法能够满足你的需求,就是使用VNC

死锁相关问题

什么是死锁 死锁是指两个(或多个)线程相互等待对方数据的过程,死锁的产生会导致程序卡死,不解锁程序将永远无法进行下去。 资源 大部分的死锁都和资源有关,在进程对设备、文件具有独占性(排他性)时会产生死锁。把这类需要排他性使用的对象称为资(resource)。资源主要分为可抢占资源和不可抢占资源 可抢占资源和不可抢占资源 资源主要有可抢占资源和不可抢占资源。 可抢占资源(preemptable r

2023年牛客多校第五场A

1:题目链接 https://ac.nowcoder.com/acm/contest/57359/A 题意: 给你一个数组,让你找出区间l,r之间满足 l ≤ i < j < k ≤ r, ai = ak > aj 的个数 思路 1:我们先找出当前位置x小于x的数有多少个 例如:9 8 5 4 5 1 5 1 5 8 对应:0 0 0 0 1 0 2 0 3 7 你会发现假如有i

学不会的博弈论——进阶篇

前言 浅浅复习(我想说,国家队论文yyds😍)之前学的一点博弈论的皮毛,然后又上某谷练习了一下(切了几个水题,感觉全靠直觉/_ ),我觉得我可以进一步学习博弈论的知识了(双击助力蒟蒻助力Alice薄纱Bob🌹) 树上删边游戏 问题描述: 给出一个有 N个点的树,有一个点作为树的根节点。游戏者轮流从树中删去边,删去一条边后,不与根节点相连的部分将被移走。谁无法移动谁输。 结论 叶子节点的SG值为0;

C/C++ 数据结构五大核心算法之贪心算法_钱币找零问题

贪婪算法(贪心算法)是指在对问题进行求解时,在每一步选择中都采取最好或者最优(即最有利)的选择,从而希望能够导致结果是最好或者最优的算法。 贪婪算法所得到的结果往往不是最优的结果(有时候会是最优解),但是都是相对近似(接近)最优解的结果。 贪婪算法并没有固定的算法解决框架,算法的关键是贪婪策略的选择,根据不同的问题选择不同的策略。 其基本的解题思路为: 1.建立数学模型来描述问题 2.把求解

Mapping iostat to the node exporter’s node_disk_* metrics

参考:https://www.robustperception.io/mapping-iostat-to-the-node-exporters-node_disk_-metrics/   The node exporter and tools like iostat and sar use the same core data, but how do they relate to eac

Fox and Box Accumulation 题解

题目传送门 一道贪心题。 我们先将箱子的力量值从小到大排序,优先将小的放顶上,只要还能在底下放就放,否则就到下一个堆。 为什么要从小到大往下放呢?因为越小的力量值能放的位置就越少,所以尽早放一定是最优的。相反,力量值大的选择更多。 Code

Treasure 题解

题目传送门 一道贪心题。 贪心策略是除了最后一个 # 其他的都变成 (1) 个 ),这样前面的 ) 就尽可能的少,最后的 # 变成的 ) 数量加上前面的 ) 数量等于 ( 的数量,这样在最后所有的括号都会匹配。最后检查一下合不合法。 Code

From S To T 题解

题目传送门 一道模拟题。 首先判断 (s) 是否是 (t) 的子序列,如果不是就直接输出 NO。证明一下,(s) 一定是 (s) 插入 (p) 后得到的字符串的子序列,但如果 (s) 不是 (t) 的子序列,则插入后的字符串一定不等于 (t)。 如果 (s) 是 (t) 的子序列,我们统计一下 (t) 中的其他字符共有多少个,如果 (p) 中的数量足够就输出 YES,否则输出 NO。 Code

Trees in a Row 题解

题目传送门 一道枚举题。 数据范围非常小,考虑暴力枚举。枚举第一棵树的高度,如果按照这样排列需要的操作次数是最小的,就选用这棵树作为新的第一棵树的高度,然后求出剩下的树的高度。 Code

Maximum Median 题解

题目传送门 一道二分题。 熟悉的 (n le 2 times 10^5),一眼二分。 在 check(x) 函数里,我们需要判断的是在 (k) 次操作以内是否能将 (x) 变为中位数。显然的,我们只需要往上看,因为只有加法操作,将小的数进行操作一定不利。 Code

String Game 题解

题目传送门 一道二分题。 (|p|le2times10^6),考虑 (O(nlog n)) 的算法,而又要输出最大值,不难想到二分答案。 二分删除字母的数量,用一个数组将删掉的字母的下标存起来,然后判断删除字符后的 (t) 是否是 (p) 的子序列即可。 Code

Painting the Fence 题解

题目传送门 一道枚举题。 我们可以直接枚举那 (2) 个去掉的粉刷匠。先统计一下每个栅栏会被多少个粉刷匠刷到,然后枚举第一个被去掉的粉刷匠,然后计算剩下的粉刷匠会将每个栅栏刷到多少次,我们只需要看只能被刷 (1) 次的栅栏就行了。 接着处理一个前缀和数组,记录前 (i) 个栅栏中有多少个只能被 (1) 个粉刷匠刷到。然后枚举第二个被去掉的粉刷匠,然后通过前缀和用 (O(1)) 的时间复杂度查询,别

Vanya and Brackets 题解

题目传送门 一道枚举题。 枚举左括号和右括号的位置括号,为了答案最优,左括号只能在开头或者 * 的右边。右括号只能在末尾或者 * 的左边。每一次枚举都计算一下这个加了括号后表达式的值,最后取最大值即可。 Code

Primes on Interval 题解

题目传送门 一道二分题。 我们需要用二分在 (O(nlog n)) 的时间复杂度内得到答案,也就是说我们的判断函数时间复杂度必须为 (O(n)),因此考虑前缀和。 (sum_i) 表示出现在区间 (left[a,b right]) 内的前 (i) 个数中质数的数量。 在二分的判断函数里,我们可以枚举左端点 (i),用 (sum_{i-1+x} - sum_{i-1}) 可以得到区间 (left[i

Permutations 题解

题目传送门 一道枚举题。 数据范围非常小,考虑暴力枚举全排列。 可以 dfs 两次,第一次求出能使 (f(p)) 取得的最大值。第二次求出第 (m) 个排列。 注意一下,第二次 dfs 的时候需要按字典序枚举。 Code

Prefixes and Suffixes 题解

题目传送门 一道字符串题。 我们考虑还原字符串后再一个一个的判断。很显然,这个字符串是由一个长度为 (n-1) 的前缀和后缀组成的。因此我们可以找到这 (2) 个长度为 (n) 的字符串,然后枚举哪个是前缀,哪个是后缀。 值得注意的是,当你判断一个字符串为前缀时,如果后面出现了同样的字符串,你只能判断它为后缀。 Code

<<  <  319  320  321  322  323  324  325  326  327  328  329  >  >>