摘要:
"题目" 题意:一个团n个士兵,每个士兵具有战斗力v[i] , 和该士兵希望该团不超过s[i]人。 问团最大战斗力为多少? 解法:通过分析可知,如果已知团人数最多为k(即所选士兵s[i]最小值),只需贪心选$s_i$大于等于k的 战斗力最大的k个人。 那么我们可以考虑枚举这个 k(k的取值并不需要连 阅读全文
摘要:
"题目" 题意:给出一个不含前前导零的字符串,要求删除m个字符(),使得该字符串数字值最小。 1、单调队列解法:反过来看删除m个字符,就是留下m'(len m)个字符,根据巢鸽原理,选择区间的右区间的端点从len m'+1(闭区间)开始依次后移 , 而左区间为1或上次被选位置开始(开区间),从这m' 阅读全文
摘要:
"题目" 题意:有n个城市排成一排,按递增给出城市坐标,codejan不在任意一个城市坐标上。 问:codejan访问m个城市最少需要走多少米,每个城市可以多次访问。 解法: 首先通过强大的观察法我们得到最终一定是在两个城市之间反复横跳,或者一次向一个方向走到m个城市,这两种方案。 具体如何得到的: 阅读全文
摘要:
"题目" 题意:给出n个景点,m条带权边,n个景点具有高度,且只能从高点向低点滑行,可以回到上(无数个上)一结点。 问从1景点开始最多可以访问多少个景点且权值最小。 解法:访问最多个景点即从1景点开始的联通块,bfs或dfs。 这种有向图的"最小生成树"实际上是最小树形图问题,最小树形图问题也有它自 阅读全文
摘要:
##一、卡特兰数简介 卡特兰数是组合数学中的一种著名数列,通常用如下通项式表示: \(f(n) = \frac{C{n \atop 2n}}{n+1}\) 递推表示: \(f(n) = \sum^{n-1}_{i=0}{f(i)*f(n-i-1)}\) 组合表示: \(f(n) = C^n_{2n} 阅读全文
摘要:
"题目" 题意:给出n(2e5)个数,可以修改某个数为$1\:to\:k$(2e5),问最少几次修改使$i\in1\:to\:\frac{n}{2}$,$满足a[i] + a[n i+1] = x$ 解法:差分维护取某个值为定值时所需要的最少操作次数。 对于每一对数令 分四类情况讨论: 一、如果定值 阅读全文
摘要:
整除 同余 模运算与取余 欧几里得 扩展欧几里得 逆元 中国剩余定理 素数筛 欧拉函数 #基础数论 ##整除 ###一、概念 若整数a除以非零整数b,商为整数,且余数为零,我们就说b能整除a,即b|a,读作"b整除a"或"a除以b"。 可以理解为b是a的因子,a是b的倍数。 ###二、性质 $1.传 阅读全文
摘要:
题意:给出一个n m数组,要求顺时针螺旋打印该数组。 输入 3 4 1 2 3 4 5 6 7 8 9 10 11 12 输出 1 2 3 4 8 12 11 10 9 5 6 7 两种方法: 1、递归,控制方向,不能再移动时则改变方向,如果改变方向后仍然不能移动表示打印结束。 2、四个while循 阅读全文
摘要:
"题目链接" 题意: 在原汉诺塔的原型下加上一个限制条件:每次盘子只能移动到相邻的柱子上。求n个盘子移动次数。 解法: 设将n个盘子从A柱移动到C柱移动盘子次数为a[n],将上面n 1个盘子看成一个整体。 1、将n 1个盘子从A柱移动到C柱:a[n 1] 2、将大盘子从A柱移动到B柱:1 3、将n 阅读全文
摘要:
"题目链接" 题意:n个人编号1 n,有m种限制关系,u、v表示u必须在v前面,编号小尽量放前面。给出编号顺序。 解法:建立一个反图,跑一边字典序最大的拓扑排序,最后再把这个排序倒过来就是答案了。 "参考博客" 阅读全文