随笔 - 129,  文章 - 1,  评论 - 4,  阅读 - 33232
09 2017 档案
bzoj1051[kosaraju算法]求强连通分量
摘要:之前一直用的是tarjan第一次学习到这个来试一下。 唔,就是裸的算法,然后如果出度为0的点只有一个,输出这个点的大小。 阅读全文
posted @ 2017-09-26 20:57 nhc2014 阅读(119) 评论(0) 推荐(0) 编辑
正睿提高组2017模拟题五T2
摘要:这题我真地想了好久怎么构造dp,可惜,最后还是不会构造,真的是太弱了。。。 先来个简单方法,我们用dp[i][a][b][c]表示前i位最长优胜序列的末尾为0的最长长度为a,末尾为1最长长度为b,末尾为2最长长度是c,的方案数。(我觉得给我多久我都根本想不到这种方程的。。。) 那么如果当前第i位可能 阅读全文
posted @ 2017-09-25 17:18 nhc2014 阅读(87) 评论(0) 推荐(0) 编辑
【数位dp】hdu2089 不要62
摘要:好吧,虽然是道水题但是是第一次接触数位dp所以还是要记录一下。 其实就是因为如果按数的大小枚举的话很不方便所以就按数位枚举并进行记忆化。 阅读全文
posted @ 2017-09-20 12:00 nhc2014 阅读(115) 评论(0) 推荐(0) 编辑
正睿提高组2017模拟题四T3
摘要:明明三道都是水题,我却只有144。。。 这道题我们用两个vector来储存。 a[x]储存的是x这个位置放过的球的标号,和放进这个球时是第几次交换。 b[x]储存的是x这个球放过哪些位置,和放到那个位置是第几次交换。 所以对于每次询问我们只要先二分出第x个位置在第l次操作之前放的是几号球,然后再二分 阅读全文
posted @ 2017-09-18 17:10 nhc2014 阅读(152) 评论(0) 推荐(0) 编辑
正睿提高组2017模拟题四T2
摘要:我没有想到怎么dp,怕是完了。。。(啊,只拿了5分。。。) 首先我们能发现 假设前面一个怪物为x1,y1后面一个怪物为x2,y2我们怎么确定如果两个怪物都要打先打前面那个? 列个式子如果前面一个先打前面一个耗费x1*y1+ad(x1+y1)+a^2*d^2后面一个则为x2*y2+bd(x2+y2)+ 阅读全文
posted @ 2017-09-18 16:45 nhc2014 阅读(156) 评论(0) 推荐(0) 编辑
正睿提高组2017模拟题三T1
摘要:听了很久又看了很久别人的程序才听懂,于是乎记录一下防止以后忘记。 好啦,假设当前 l-1=5,r=7;那如果学习过树状数组的话就知道题目中的操作如果转换为二进制的话 对于l-1来说他的二进制是101,所以会被加上-1的位置是101和100,r的二进制是111,所以会被加上1的位置是111,110,1 阅读全文
posted @ 2017-09-16 12:47 nhc2014 阅读(182) 评论(0) 推荐(0) 编辑
数位dp【转载】
摘要:http://blog.csdn.net/wust_zzwh/article/details/52100392 阅读全文
posted @ 2017-09-12 14:51 nhc2014 阅读(86) 评论(0) 推荐(0) 编辑
正睿提高组2017模拟题二T2
摘要:不会线性的,但是群里有个大神,发现用可以用80分的复杂度写出100分的效果,于是。。。。 考虑每次加入一条边,我们用f[x][j]表示加入第i条边后,当前的并查集x中,第j个点的父亲。那么如何加呢?假设当前第i条边的两端点为u和v,如果第x个并查集中u和v联通那么很明显,它不可以再加到这个并查集中( 阅读全文
posted @ 2017-09-05 17:22 nhc2014 阅读(115) 评论(0) 推荐(0) 编辑


点击右上角即可分享
微信分享提示