摘要: 需要排序的01背包。 这种题排序时只需要考虑两个怎么排,重载小于号就可以了。 需要注意的是,如果一个物品你想先放进背包里,那么你排序是要放到后面!01背包的放置顺序的倒着的! 看到别人的博客都只是比较了q-p,表示不解,但是都能AC。。。是谁错了呢?或者我这种表达式可以化成那个样子? AC代码: 阅读全文
posted @ 2015-11-02 16:45 我不吃饼干呀 阅读(300) 评论(0) 推荐(0) 编辑
摘要: http://acm.uestc.edu.cn/#/problem/show/1218 既然二维dp表示不了,就加一维表示是否在边界放置,放置一个,两个。有一个trick就是如果只放一根,那么多长都可以。 wa了好多次(囧) 开始因为l[i]/2会出现小数,没注意,把所有的长度都x2就可以解决。 又 阅读全文
posted @ 2015-10-30 20:02 我不吃饼干呀 阅读(420) 评论(0) 推荐(0) 编辑
摘要: 花了近5个小时,改的乱七八糟,终于A了。 一个无限数列,1,2,3,4,...,n....,给n个数对<i,j>把数列的i,j两个元素做交换。求交换后数列的逆序对数。 很容易想到离散化+树状数组,但是发现那些没有交换的数也会产生逆序对数,但我没有算。 经明神提示, 把没有用到的数字段化成点。然后用树 阅读全文
posted @ 2015-10-30 00:50 我不吃饼干呀 阅读(853) 评论(0) 推荐(0) 编辑
摘要: 貌似竟然是我的第一道概率DP。。 手机码代码真不舒服。。。。 阅读全文
posted @ 2015-10-29 12:38 我不吃饼干呀 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 果然对状压DP,我根本就不懂=。= 阅读全文
posted @ 2015-10-24 10:52 我不吃饼干呀 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 赛后当天学长就说了树状数组,结果在一个星期后赖床时才有了一点点思路…… 因为无法提交,不确定是否正确。。嗯。。有错希望指出,谢谢。。。 嗯。。已经A了。。提交地址http://acm.uestc.edu.cn/#/problem/show/1217 阅读全文
posted @ 2015-10-24 10:34 我不吃饼干呀 阅读(443) 评论(0) 推荐(0) 编辑
摘要: 01背包,求第k大。 以前看k短路的时候看过代码以为懂了 = =结果还是跑去看了别人的代码才会。果然要自己写一遍才行啊 0.0难得1A。。 每次把可能的2k种求出来,求前k个。注意要不一样的k个数。。 阅读全文
posted @ 2015-10-23 12:31 我不吃饼干呀 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 思路一下子就想到了,转移方程却没想好,看到网上一个的思路相同的代码,改的转移方程。 同时dp全部初始化为负无穷,需要注意一下。 AC代码如下: 阅读全文
posted @ 2015-10-22 20:02 我不吃饼干呀 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 参加ACM一年了。大二初开始,和同班十来个同学一起报了ACM。那时还不太了解ACM究竟做什么,怎么玩。只是听说对计算机专业有用,仅此而已。因为参加的晚,和一帮大一的(绝大大部分没学过甚至没听过C语言)一起上课,窝们班的几个人很快脱颖而出。那时班里会留作业,基础的题,基本只考语法,和一点点思维。做起来 阅读全文
posted @ 2015-10-21 18:57 我不吃饼干呀 阅读(326) 评论(3) 推荐(0) 编辑
摘要: 题意:给指定数量的数字“1”,“2”,“3”……,“9”。用所有这些数字加上任意个0组成一个数,要求数能被11整除,且数的位数尽量小。 能被11整除的数有一个特点,奇数位数字之和与偶数位之和的差为11的倍数。 所以想到把所有数字分成两部分,即奇数位部分和偶数位部分,两部分的差相0即能被11整除(MO 阅读全文
posted @ 2015-10-02 19:14 我不吃饼干呀 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 第七章 类练习7.32 定义你自己的Screen和Window_mgr,其中clear是Window_mgr的成员,是Screen的友元。由于Window_mgr中含有Screen对象,所以在Window_mgr之前要声明Screen。因为clear中调用Screen成员,所以Screen要在cle... 阅读全文
posted @ 2015-09-30 16:42 我不吃饼干呀 阅读(921) 评论(0) 推荐(0) 编辑
摘要: 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) (为什么很简单的题,思路也有了,比赛的 阅读全文
posted @ 2015-09-22 20:14 我不吃饼干呀 阅读(137) 评论(0) 推荐(0) 编辑
摘要: C++ Primer 第五版课后题练习6.32 :下面的函数合法吗?如果合法,说明其功能;如果不合法,修改其中的错误并解释原因。#include using namespace std;int &get(int *arry, int index){ return arry[index];}int m... 阅读全文
posted @ 2015-09-16 18:58 我不吃饼干呀 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 通过typedef可以简单实现。也可以直接写。 写了两个简单的矩阵操作的函数简单示例。 阅读全文
posted @ 2015-09-11 18:40 我不吃饼干呀 阅读(2372) 评论(0) 推荐(0) 编辑
摘要: wa了好久,我只想知道 什么意思,为什么要加这句? 阅读全文
posted @ 2015-08-23 12:16 我不吃饼干呀 阅读(287) 评论(0) 推荐(0) 编辑