codeforces
文章平均质量分 79
Zeyu_King
蒟蒻代码风格巨丑,神犇勿喷:)
展开
-
codeforces286E Ladies' Shop
题目大意:给你n个互不相同的数,保证其不大于m。要求你再确定一串数p,满足:1、p个数可以选出一些集合(相同的数可重复选),其和可以组成所有给定的n个数。2、从p中选择任意数集(相同的数可重复选),若其和不大于m,那么这个和必在给定的n个数中。3、在满足1和2的情况下p最小。n,m(若不是tag上友情提示是fft,蒟蒻怎么也不会想到正解)不难发现p数一定是n中的数(废话),那么原创 2015-02-28 09:15:32 · 1434 阅读 · 0 评论 -
后缀自动机初步
想学这个算法很久了省选结束后终于下定决心好好学学!先推荐两篇文章http://hi.baidu.com/myidea/item/142c5cd45901a51820e25039?qq-pf-to=pcqq.grouphttp://blog.csdn.net/huyuncong/article/details/7583214学好后缀自动机的关键就是理解其转移边与父亲变得不原创 2015-04-23 20:01:13 · 1701 阅读 · 0 评论 -
codeforces17E Palisection
求母串中互相交的回文串对数。回文树练习题。求相交的不好求,但是我们很容易求出不相交的(精华所在!要学会逆向思维!)用回文树求出在此处开头和结尾的回文串非别为多少,直接搞就可以了。#include #include #include using namespace std;typedef long long LL;const int Mod=51123987;con原创 2015-04-13 11:09:27 · 840 阅读 · 0 评论 -
codeforces 293B Distinct Paths
n,m因为n+m-1>k无解啦。。。k暴力大法好。。。我们从左上向右下枚举棋子,遵循每次只放放过的棋子或者没放过的编号最小的棋子(当然是符合题目要求的情况下),最后用组合计数搞一搞即可以啦#include #include #include using namespace std;typedef long long LL;#define two(x) (1<<(原创 2015-03-24 12:30:40 · 1018 阅读 · 0 评论 -
codeforces 286D Tourists
。。。。原创 2015-03-23 22:27:18 · 677 阅读 · 0 评论 -
codeforces 261E Maxim and Calculator
做此题会有一种误区:一个数的最优方案一定是不断地将此数的质因子乘上去。反例很容易就找到了:20=2^2*5^1。用上面的办法得到的步数应是2+1+5=8,而事实上只需要7就够了——不断把b加到5,在b=4或5时乘到a上,一共需要1+1+5=7这怎么做啊?用f[i]表示得到i所需要的最少步数。本来我想先计算j后来膜拜了别人的程序才发现这个递推方式比较奇(you)葩(mei)。 从原创 2015-03-23 22:03:48 · 900 阅读 · 0 评论 -
codeforces 306D Polygon
遇到构造题就碰灰。。。。只能想到3、4是无解的。。。。5,6,7……怎么构造呢?然后就去看别人程序。。。。不出所料,短短几行大致算法如下:从原点开始,规定一个基本长度len,原点先向正左方向走len得到点p1。将len+=delta,从p1转一定的角度(根据不同的多边形很容易算出),从p1走到p2如此循环直到搞定n-1个点,最后一个点怎么确定?其实只要保证其在x轴上,那原创 2015-03-04 12:39:10 · 908 阅读 · 0 评论 -
codeforces 264E Roadside Trees
/*看完题目:靠,这什么玩意儿?能做?看完数据范围:靠,似乎还可作!*/注意到hi我们需要维护的是数组的最长上升序列。dp[i]表示开头为i的最长上升序列操作1 对于新增的i,一定是在其后的高度大于hi的树才能转移,而受到i影响的一定是i之前的高度小于hi的。维护一个线段树,以x为下标,dp为权值,支持区间求最大值。我们将高度大于10的全部树的原创 2015-03-04 11:47:49 · 1060 阅读 · 0 评论 -
codeforces 295D Greg and Caves
蒟蒻再一次被虐傻了。。。。。原先yy了一个dp方案:考虑上半段(一个正立的三角),f[i][j]表示从从小往大放,现在的底为i,高为j的方案数。再从搞一个下半段的计数h[i][j],表示目前高为j,接下来放的底大小为i(当前的严格小于i)的方案数。可以发现,f[i][j]的计算很容易用O(n^3)内的时间内得到,h也很容易由f算得。(利用前缀和很容易把f的计算优化到O(n^2))只原创 2015-03-03 17:25:29 · 947 阅读 · 0 评论 -
莫队算法小结
终于把糖果公园a掉了,写点小结冷静一下(由于博主现在思维混乱,所以请用混乱的思维来阅读本篇文章)1、小z的袜子这算是鼻祖了吧。把序列分成sqrt(n)块,把询问先按左端点所在的块顺序,再按右端点升序排序,可以证名这样暴力移动左右端点最多达到O(n^1.5)的复杂度简单吧code是很就以前写的了,很丑勿喷#include #include #include #inc原创 2015-06-11 22:17:13 · 678 阅读 · 0 评论