自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Cold_Chair的博客

一位蒟蒻的事故记录

  • 博客(16)
  • 收藏
  • 关注

原创 51nod 1299 监狱逃离

原题链接.初二的时候就听老曹讲过这题。据说一个最小割就过了。最小割特别显然。每个点x->x’连代价为1的边,不要这个点就是割掉这条边。对于每个有人的点x,S->x连正无穷。对于每个叶子节点x,x->T连正无穷。对于每条树边x->y,x->y’连正无穷。跑最大流=最小割,就是答案。100000需要梦想。正解是个辣鸡树形dp。选一个叶子节点为根。fi,0/1/2f_{i,0/1/2}分别表示: 0.子

2017-11-29 12:30:46 357

原创 51nod 1835 完全图

原题链接. 比赛时我怎么都不会做这一题。旁边人表过了。显然的状态是fi,jf_{i,j}表示用了序号前i个,有j块的方案数。显然可以枚举第i个放的块的大小来转移。fi,j=∑i−(j−1)k=1fi−k,k−1∗fk−1,1∗Ck−1i−1f_{i,j} =\sum_{k=1}^{i-(j-1)}f_{i-k,k-1}*f_{k-1,1}*C_{i-1}^{k-1}这条方程神奇之处在于自我调用fk

2017-11-29 12:20:14 543 2

原创 【NOIP2013模拟联考7】最长上升子序列

Description:维护一个序列,使它可以进行下面两种操作: 1.在末尾添加一个数字x 2.将整个序列变成第x次操作后的样子 在每次操作后,输出当前序列的最长上升子序列的长度 序列初始时为空. n<=500000且所有输入的数字都是长整型范围内的非负整数题解:显然可以离散一下数字直接套用可持久化线段树,区间查询,单点修改。 也可以设fif_i表示长度为i的最小结尾,接着强行可持久化线

2017-11-25 16:42:06 656

原创 51nod 1290 Counting Diff Pairs

原题链接.看到n <= 50000就要有莫队的敏感度。某infleaking说也许整体二分套个数据结构是行的。离散一下,直接莫队,用个常数小的树状数组维护一下就行了。理论复杂度:O(nn√ log n)≈1.6∗109O(n \sqrt n ~log ~n)≈1.6*10^9。加上那么一点小常数也许会T。可是我才跑了1.6s,时限4s,……Code:#include<cstdio>#include

2017-11-23 18:46:39 326

原创 51nod 1203 JZPLCM

原题链接.据说这是某国家队爷的题,怪不得我一眼不会。求lcm即求各个质因子对应得指数的最大值。这时候想到以前做过几道类似的题怎么做的。把<n√<\sqrt n的质因子分成一块,大于>n√>\sqrt n的质因子分成一块。这样做的优势是<n√<\sqrt n的质因子的个数少, 而,>n√>\sqrt n的质因子的指数最大为1。那么这道题就显然了。<n√<\sqrt n的质因子强行RMQ,因为只有48

2017-11-23 18:40:15 277

原创 默慈金数学习小记 && 51nod 1556 计算

参考博客:ACdreamers.事实上默慈金数很偏门,据说早就渗入ACM竞赛中了(庆幸我才初中)。默慈金数定义:在一个圆上有n个不同的点,画出彼此互不相交弦的方案数(可以不画)即是第n个默慈金数。递推公式: M(1)=1,M(2)=2M(1)=1,M(2)=2 M(n+1)=M(n)+∑n−1i=0M(i)∗M(n−1−i)M(n+1)=M(n)+\sum_{i=0}^{n-1}M(i)*M(n

2017-11-20 20:20:12 511

原创 NOIP2017 Day2_T3 列队

题目大意:众人皆知。题解:考场时打SBT打傻了,被卡爆了。这就是个傻逼线段树能过的东西,不要问我问为什么能跑这么快?每一行用线段树维护前m-1个。最后一列独立开来。查询用线段树二分。可以直接预开6e5。完。Code:#include<cstdio>#include<cstring>#include<algorithm>#define ll long long#define fo(i, x,

2017-11-18 16:05:45 1308

原创 NOIP2017 Day1_T3 逛公园

题目大意:让你求从1到n的路径中,长度和最短路径不超过k有多少条?Warning:CCF老爷机严重卡常。题解:考场时想到了缩环,然并卵,就是没想到拆点按Turpo序dp。70分的做法,先跑SPFA求最短路,然后再求最短路的条数,如果此时有0环,那么队列会无限大,可以超过10^6就退出,之后再强行拆点连边SPFA跑方案数。发现如果原图中没有0环的话,拆点后的图是没有环的,所以强行Turpo一发,按顺序

2017-11-18 15:56:40 1688

原创 c++ bitset学习小记

这个玩意用过很多次了,但是没有总结,在这里写一下。首先bitset就是c++内置的一个压位工具,每一位要么是0要么是1,可以快速位运算,也可以快速算1的个数之类的东西。修改是可以直接当数组修改的。头文件:#include<bitset>定义:bitset<500> a;常用的东西: a[i] = 0; a[i] = 1; //直接当数组修改。 a.set(); a.reset();

2017-11-09 21:33:35 329

原创 c++ 优先队列学习小记

其实我一直憎恶优先队列,因为它麻烦,没有set好用。然而set的缺点也很多,比如说存实数就炸了。优先队列怎么实现的我不知道,但是它具备了堆的最基本功能,想要改造非常难,也不能快速定位,废的一匹。它是个大顶堆,所以改成小顶可以直接取反,pair也适用。头文件:#include<queue>定义:priority_queue<int> p;功能: p.push(2); //压栈 prin

2017-11-09 21:20:27 283

原创 最近文化课和训练的总结 && NOIP2017赛前检查

今天是11.9日,其实还是我的生日,当然,这并不是很重要。昨天考完了期中考,对了下答案,感觉又要退步了。 总体来说不该丢的分上了20分,所以这次考试没有个前50很正常吧。后天不是联赛了吗?什么辣鸡文化课给我滚开。从高中停课开始算,总共有19场比赛。 然而我是一个初中生,只做了3场,虽然这3场的成绩还不烂,但是还是感到了自己的弱。 其他的比赛也看了80%,发现大部分被A穿的题是没问题的,有些比赛

2017-11-09 21:06:02 413

原创 【NOIP2017提高A组冲刺11.8】好文章 ——联赛字符串算法复习

题目大意:给出长度为n的串,问这个串长度为m的子串有多少个不同的。题解:这其实是一道SA的裸题,求出height以后,先把长度小于m的后缀删去,然后就这样取,如果一个后缀和前面最后的长度大于等于m的后缀之间的height的最小值小于m,则这个可取。 SA的板子背的还是不够熟啊,又去看了一波biao。然而这是一道联赛题。 所以hash就好了。 当然单hash被卡了,那就双hash,两个质数,两个

2017-11-08 20:18:00 406

原创 【NOIP2017提高A组冲刺11.4】Genocide

Description:题解:先思考50分的做法。 显然是拆式子,把和i有关的划到一边,和j有关的划到一边,中间有个-ij,维护一个交点递减的单调栈,直接做就好了(斜率优化什么的我不会)。100分的做法比较坑爹。 对于x,首先预处理不选它的最大值,用50分的做法前后做两遍就行了。还要求出一定选它的最大值,这就比较玄乎了。关于区间的,可以yy出分治。对于区间[x..y],设 m = x +y/ 2

2017-11-06 19:33:38 293

原创 【NOIP2017提高A组冲刺11.4】Pacifist

Description:在你面前有一个被加密了的数组,其原数组是一个等差序列,你面前的则是将原数组中的所有数字都对m 取模再打乱后而得到的新数组 papyrus 给你出的谜题就是还原出原等差序列 保证数据有解,而且因为papyrus 喜欢质数,所以他给你出的谜题中的m 一定是质数 2 <= m <= 10^9 +7; 2 <= n <= 10^5,m 是质数,数组a 中所有数字两两不同题解:考

2017-11-06 19:11:46 331

原创 hdu 4333 Revolving Digits

原题链接.题目大意:给出一个数字,不断把最后一个数字提到第一位后产生的数字和原数字的大小关系,输出每一种大小关系有多少个,重复的不记,前导0算作不同的。题解:先不管重复。很好的思路是把原串copy一遍,自我匹配个exkmp。 假设其exkmp[i]>=len,则说明相等,否则只需要比较下一位即可。其实不把原串copy也是可以的,详情见代码。什么时候会有重复呢?就是这个数字有完整的循环节的时候。如果

2017-11-03 20:19:02 291

原创 【NOIP2017提高A组集训10.30】Group

Description: 1<=n<=200,1<=k<=1000题解:首先肯定得排个序,再考虑如何dp。 一个组的贡献可以是最大值减最小值,也可以是相邻的两个数的差的和。 这样就可以dp了,对于一个组,如果它没有结尾,那么每往后移以下,贡献就会增加。 可以设fi,j,kf_{i,j,k}表示当前做到第i个数,有j个组还没有结尾,贡献和已经是k的方案数。 对于新来的一个数,有4种情况:

2017-11-03 19:03:01 261

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除