09 2015 档案
摘要:原题链接:题解:就把字符串扩大一倍后跑一发后缀数组即可。代码:#include #include #include #define INF 2*0x3f3f3f3fusing namespace std;const int maxn = 200051; //注意数组的大小,记得更改int wa[ma...
阅读全文
摘要:原题链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1026题解:这是个很水的数位dp,令dp[i][j]表示总共i位,第i位是j的方案数。转移就是dp[i][j]+=dp[i-1][k],其中abs(j-k)>=2。然后统计答案的时候瞎比搞搞就...
阅读全文
摘要:原题链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1003题解:dp就好,令dp[i]表示第i天的答案,那么dp[i]=min{Cost(1,i),Cost(j+1,i)+dp[j]+K},其中Cost(i,j)表示从i到j都用同一种方案。这种...
阅读全文
摘要:原题链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1008题解:就很傻逼的组合数学啊。。。$$ans=M^N-M*(M-1)^{(N-1)}$$代码:/**********************************************...
阅读全文
摘要:DescriptionP教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京。他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中。P教授有编号为1...N的N件玩具,第i件玩具经过压缩后变成一维长度为Ci.为了方便整理,P教授要求在一个一维容器中的玩具编...
阅读全文
摘要:原题链接:http://acm.uestc.edu.cn/#/problem/show/3题意:有个人在看B站视频时有个习惯,就是每当卡住的时候,他总再次从头开始看。另外,他在看视频时会先等待T的时间。现在给出播放的速度X和下载的速度Y,总长度S,问你他需要多少时间才能把整个视频都看完。题解:不断的...
阅读全文
摘要:原题链接:http://www.acm.uestc.edu.cn/#/problem/show/879题意:中文题题解:这是一道斜率dp的题。先把$a$数组排个序。令$dp[i][j]$表示第$i$个人坐在第$j$个箱子里面的最优解。容易得到以下转移方程:$$dp[i][j]=min\left \{...
阅读全文
摘要:原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=5360题意:大概的意思就是每个人有个人数接受范围$[l_i,r_i]$,现在你每次能从还未被选取的人中选择一个人,如果当前人数符合这个人的需求,那么这个人就会被选中。现在让你输出一个选择的序列,使得被选择...
阅读全文
摘要:题目链接:http://acm.uestc.edu.cn/#/problem/show/1171题解:这道题应该从gcd出来的值入手。我们要求所有子集的gcd的和首先我们先统计一下每个数字出现的次数。然后从大到小找,每次都可以算出来gcd是当前值的子集数量。我们要这么做:假设当前算gcd=i的情况,...
阅读全文
摘要:原题链接:http://acm.uestc.edu.cn/#/problem/show/92题意:给你一棵树,然后在树上连接一条边。现在有若干次询问,每次问你两个点(u,v)之间的距离在加那条边之后减小了多少。题解:对于那条加入的边,只有两种情况,要么走,要么不走。不走的距离就是$dis[u]+di...
阅读全文
摘要:FoxesOfTheRoundTable题意:给你一个序列,让你生成一个排列,并且这个排列是循环的。使得任意两个相邻数的差的最大值尽量小。题解:先排个序,然后从小到大逐个插入。这时容易发现,若要得到最优的策略,只能将现在的这个数插在当前排列中最大的那个数的旁边,这是因为,要插入的这个数是大于当前排列...
阅读全文
摘要:原题链接:http://codeforces.com/contest/580/problem/D题意:给你一些一个有向图,求不超过m步的情况下,能获得的最大权值和是多少,点不能重复走。题解:令$dp[u][s]$为在节点u的时候状态是s的最大值。利用spfa的松弛操作来转移。代码:#include#...
阅读全文
摘要:原题链接:题意:给你一棵有根树,某些节点的权值是1,其他的是0,问你从根到叶子节点的权值和不超过m的路径有多少条。题解:直接dfs一下就好了。代码:#include#include#include#include#define MAX_N 100005using namespace std;vect...
阅读全文
摘要:原题链接:http://codeforces.com/contest/580/problem/B题意:给你一个集合,集合中的每个元素有两个属性,$m_i,s_i$,让你求个子集合,使得集合中的最大m的差不超过d的情况下,s的和的最大值。题解:先排序,然后对于a[i],直接二分a[i].s+d的位置,...
阅读全文
摘要:原题连接:http://codeforces.com/contest/580/problem/A题意:给你一个序列,问你最长不降子串是多长?题解:直接模拟就好了代码:#includeusing namespace std;int n;int main() { cin.sync_with_std...
阅读全文
摘要:题意:一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 III. QSUM u v: 询问从点u到点v的路径上的节...
阅读全文
摘要:VerySecureEncryption 模拟题意:给你个串message,然后一个置换key,输出置换K次后的结果。题解:直接模拟就好。代码:#include#include#include#includeusing namespace std;class VerySecureEncryption...
阅读全文
摘要:原题连接:http://poj.org/problem?id=3041AsteroidsTime Limit:1000MSMemory Limit:65536KTotal Submissions:17985Accepted:9798DescriptionBessie wants to navigat...
阅读全文
摘要:原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4081Qin Shi Huang's National Road SystemTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768...
阅读全文
摘要:ABBADiv1题意:规定两种操作,一种是在字符串的末尾添加A,另一种是在末尾添加B然后反转字符串。现在给你一个起始串,一个终点串,然后问你是否能够通过以上两种操作,从起始串变为终点串。题解:将问题反过来考虑,那么问题就变为了是否能够从终点串变为起始串。令起始串为s,终点串为t。首先考虑串t就是串s...
阅读全文
摘要:原题链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2288题意:给你一个有向图,问你至少需要添加多少条边,使得整个图强连通。题解:就。...
阅读全文
摘要:据说这是一道Word Final的题,Orz。。。原题链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3136题意:给你一个联通图,让你...
阅读全文
摘要:ModModMod 傻逼数论题意:这是一道卖萌的题。。给你一个取模序列$m$,令$f(x)=(\cdots (x\ mod\ m[0])\ mod m[1])\mod m[2]\cdots $,问你$\sum_{i=1}^R f(i)$的值是多少题解:容易知道一点,若$i#include#inclu...
阅读全文
摘要:本文地址:http://www.cnblogs.com/HarryGuo2012/p/4785167.html最大公约数想必大家小学就学过什么事最大公约数吧,现在给出一个数学上的定义:定义$g$是整数$a$和$b$的最大公约数,当且仅当$g$是同时整除$a$和$b$的数中最大的那个。欧几里得算法欧几...
阅读全文
摘要:B Bricks 计算几何乱搞题意:给你个立方体,问你能不能放进一个管道里面。题解:这是一道非常迷的题,其问题在于,你可以不正着放下去,你需要斜着放。此时你需要枚举你旋转的角度,来判断是否可行。至于枚举的范围和步长,看脸乱搞。代码://#include#include#include#include...
阅读全文
摘要:A Hanoi Tower 递归题意:大家都很熟悉汉诺塔的递归程序,现在给你一个组合,询问你这个组合是否会出现在汉诺塔的递归过程中。题解:将汉诺塔的递归程序反过来思考,考虑当前最大的那个盘,我们只会将他从from移动到to,他上面的盘都移动到tmp,那么这个最大的盘一定不会在tmp。如果这个盘在fr...
阅读全文
摘要:什么是快速幂?快速幂应当是快速幂取模的简称对于一般的求幂算法,求$a^b\,\bmod\,m$,即使用循环b次的方法,复杂度是$O(b)$的,当b很大的时候,这种算法就会显得十分缓慢。快速幂是基于以下明显的事实:$${a^b} \equiv {(a^2)^{\frac{b}{2}}} \pmod{m...
阅读全文
摘要:BearPlays 快速幂题意:给你两个数A,B,有种操作是将大的数减去小的数,并将小的数乘以2。反复k次,问你最后的小的数回是多少。题解:由于整个过程$A+B$的值是不会改变的。现在令$S=A+B$,那么这两种操作可以看作如下两种形式: 若$A$是较小的那个数,那么$A=A*2$ 若$A$是较...
阅读全文
摘要:WalkOverATree题意:给你一棵树,有个人在节点0,现在问你,这个人走L步,最多能访问多少个不同的节点,一个节点可以被走多次,但只算一次。题解:这个问题的关键在于,每个点最多走两次,这是因为我要么一次性走到这个点,要么从这个点回去走其他的点,不可能出现走三次的情况,这里需要细想清楚。那么我们...
阅读全文
摘要:Bonuses 模拟题意:给你一个序列,按照百分比排序,再将百分比取整,再把剩余百分比加到最大的那几个。题解:按照题意模拟就好。
阅读全文
摘要:BinaryCode 模拟题意是:定义串P,Q,其中Q[i]=P[i-1]+P[i]+P[i+1],边界取0,并且P必须是01串。现在给你Q,让你求出P。做法是:枚举第一位是1还是0,然后就可以推到出P[i]=Q[i-1]-P[i-1]-P[i-2],需要注意一下边界就好。Lottery 组合数学题...
阅读全文

浙公网安备 33010602011771号