HDU 3065 病毒侵袭持续中(AC自动机)
摘要:这题数据太水,一开始没有加上Get的方法也能AC。。话说AC自动机中一定要注意加上Get的方法!(不然,同一个后缀的其他单词就没被算上了。) 代码如下: ———————————————————————————————————————————— 发现上面的代码有问题(虽然能AC),正确代码如下: 1
阅读全文
HDU 2222 Keywords Search(AC自动机入门)
摘要:题意:给出若干个单词和一段文本,问有多少个单词出现在其中。如果两个单词是相同的,得算两个单词的贡献。 分析:直接就是AC自动机的模板了。 具体见代码: 顺便注意上面注释中的拓展点。 ———————————————————————————————————————————————— 发现上面的代码有问题
阅读全文
CodeForces 675C Money Transfers(贪心+奥义维护)
摘要:题意:n个银行。 其中存款有+有-。 总和为0。 n个银行两两相邻((1,n),(1,2)...(n-1,n)); 问最少移动几次(只能相邻移动)能把所有数变为0。 分析:思路很简单,起始答案算它为n,然后每存在一段,这段的和为0(包括就一个0的情况),这个答案就减1。如1 2 3 -6,只有一段,
阅读全文
CodeForces 724C Ray Tracing(碰撞类,扩展gcd)
摘要:又一次遇到了碰撞类的题目,还是扩展gcd和同余模方程。上次博客的链接在这:http://www.cnblogs.com/zzyDS/p/5874440.html。 现在干脆解同余模直接按照套路来吧,如果有解,那么x先乘以(c/g),然后mod数是(b/g),就按照这个套路来好了- -。 这题的思路大
阅读全文
CodeForces 714E Sonya and Problem Wihtout a Legend(单调数列和DP的小研究)
摘要:题意:给你n个数字,每个数字可以加减任何数字,付出变化差值的代价,求最后整个序列是严格单调递增的最小的代价。 首先我们要将这个题目进行转化,因为严格单调下是无法用下面这个dp的方法的,因此我们转化成非严格的,对严格下而言,a[j]-a[i]>=j-i,那么得到a[i]-i<=a[j]-j。这样,我们
阅读全文
Codeforces Round #375 (Div. 2)
摘要:这是我打的第一场现场CF,才涨了4分= =,太菜啦。。 第一题,超级大水题,不说了。。 第二题,也挺水的,要注意的是,最后一个字符如果不是下划线或者括号结束的话,仍然要判断那个单词。因为这点WA了好多次。 第三题,rejudge的时候错了= =。。题目意思有点晦涩,其实还是比较水的题,题目要求前m个
阅读全文
ACM之路(19)—— 主席树初探
摘要:长春赛的 I 题是主席树,现在稍微的学了一点主席树,也就算入了个门吧= = 简单的来说主席树就是每个节点上面都是一棵线段树,但是这么多线段树会MLE吧?其实我们解决的办法就是有重复的节点给他利用起来,具体见幻神博客。 不妨以1~n上的求任意区间第k小的问题,就是上面博客中所写,我们从1访问到n的预处
阅读全文
CodeForces 722D Generating Sets
摘要:题意:如果你有一个原数列的话你可以对任何一个数字进行操作,令这个数字乘2或者乘2后在加1。现在给你一个目标数列,让你求一个原数列,这个原数列是所有可能的原数列当中最大的一个元素最小的那种。注意原数列和目标数列都必须满足set内元素的性质(即每个元素都不相同),但是在变化的过程中不需要满足这个条件。
阅读全文
CodeForces 721D Maxim and Array
摘要:题意:给出n个数,k次机会,每次机会可以使得任意一个数字减少或者加上x,问使得最后的乘积最小的n个数,每个数是多少。 分析:贪心思路是每次取出绝对值最小的一个数,判断乘积的符号以及这个数的符号来做出加或者减的操作。 具体见代码: 顺便回顾一下,优先队列是默认的每次弹出优先级最大的元素(默认less)
阅读全文