摘要:
Description 如上图所示的一个台阶他的积水量是4 + 2 + 4 + 3 + 4 = 17. 给你一个长度是n的台阶。告诉你每个台阶的高度,求积水量是多少? 如上图所示的一个台阶他的积水量是4 + 2 + 4 + 3 + 4 = 17. 给你一个长度是n的台阶。告诉你每个台阶的高度,求积水 阅读全文
摘要:
裸最小生成树。用kauskal做方便一些。 不得不说这么大数据用cin cout 真是作死。。活该T那么多次。。。 阅读全文
摘要:
虽然比较水 =。= 但是写了两节课+一个中午 都是强迫症的锅http://www.cnblogs.com/wenruo/p/4940182.html#include #include #include using namespace std;class student // studen... 阅读全文
摘要:
需要排序的01背包。 这种题排序时只需要考虑两个怎么排,重载小于号就可以了。 需要注意的是,如果一个物品你想先放进背包里,那么你排序是要放到后面!01背包的放置顺序的倒着的! 看到别人的博客都只是比较了q-p,表示不解,但是都能AC。。。是谁错了呢?或者我这种表达式可以化成那个样子? AC代码: 阅读全文
摘要:
http://acm.uestc.edu.cn/#/problem/show/1218 既然二维dp表示不了,就加一维表示是否在边界放置,放置一个,两个。有一个trick就是如果只放一根,那么多长都可以。 wa了好多次(囧) 开始因为l[i]/2会出现小数,没注意,把所有的长度都x2就可以解决。 又 阅读全文
摘要:
花了近5个小时,改的乱七八糟,终于A了。 一个无限数列,1,2,3,4,...,n....,给n个数对<i,j>把数列的i,j两个元素做交换。求交换后数列的逆序对数。 很容易想到离散化+树状数组,但是发现那些没有交换的数也会产生逆序对数,但我没有算。 经明神提示, 把没有用到的数字段化成点。然后用树 阅读全文
摘要:
貌似竟然是我的第一道概率DP。。 手机码代码真不舒服。。。。 阅读全文
摘要:
果然对状压DP,我根本就不懂=。= 阅读全文
摘要:
赛后当天学长就说了树状数组,结果在一个星期后赖床时才有了一点点思路…… 因为无法提交,不确定是否正确。。嗯。。有错希望指出,谢谢。。。 嗯。。已经A了。。提交地址http://acm.uestc.edu.cn/#/problem/show/1217 阅读全文
摘要:
01背包,求第k大。 以前看k短路的时候看过代码以为懂了 = =结果还是跑去看了别人的代码才会。果然要自己写一遍才行啊 0.0难得1A。。 每次把可能的2k种求出来,求前k个。注意要不一样的k个数。。 阅读全文
摘要:
思路一下子就想到了,转移方程却没想好,看到网上一个的思路相同的代码,改的转移方程。 同时dp全部初始化为负无穷,需要注意一下。 AC代码如下: 阅读全文
摘要:
参加ACM一年了。大二初开始,和同班十来个同学一起报了ACM。那时还不太了解ACM究竟做什么,怎么玩。只是听说对计算机专业有用,仅此而已。因为参加的晚,和一帮大一的(绝大大部分没学过甚至没听过C语言)一起上课,窝们班的几个人很快脱颖而出。那时班里会留作业,基础的题,基本只考语法,和一点点思维。做起来 阅读全文
摘要:
题意:给指定数量的数字“1”,“2”,“3”……,“9”。用所有这些数字加上任意个0组成一个数,要求数能被11整除,且数的位数尽量小。 能被11整除的数有一个特点,奇数位数字之和与偶数位之和的差为11的倍数。 所以想到把所有数字分成两部分,即奇数位部分和偶数位部分,两部分的差相0即能被11整除(MO 阅读全文
摘要:
第七章 类练习7.32 定义你自己的Screen和Window_mgr,其中clear是Window_mgr的成员,是Screen的友元。由于Window_mgr中含有Screen对象,所以在Window_mgr之前要声明Screen。因为clear中调用Screen成员,所以Screen要在cle... 阅读全文
摘要:
dp[i][j] := 前i个数和为j的情况(mod p) dp[i][j] 分两种情况 1.不选取第i个数 -> dp[i][j] = dp[i-1][j] 2. 选取第i个数 -> dp[i][j] = dp[i-1][t] ((t+a[i])%p==j) (为什么很简单的题,思路也有了,比赛的 阅读全文