2018年7月13日

摘要: 終於想起了這裏還有一個博客。 熟悉的味道。多年前的感覺。 只是好像一切,都已經變了。 甚至不知道說什麼。 阅读全文
posted @ 2018-07-13 21:07 aries__liu 阅读(166) 评论(0) 推荐(0) 编辑

2013年8月15日

摘要: link:http://codeforces.com/contest/334/problem/A很有意思的一道构造题。发现CF上经常出这种不难但是很不错的构造题。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15 #include 16 #include 17 #include 18 #include 19 ... 阅读全文
posted @ 2013-08-15 18:53 aries__liu 阅读(221) 评论(0) 推荐(0) 编辑
摘要: link:http://codeforces.com/problemset/problem/336/C从大到小枚举,如果对应的二进制位不等于0,就加进来,最后的sum如果%2^k==0那么就是合法的。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15 #include 16 #include 17 #incl... 阅读全文
posted @ 2013-08-15 18:41 aries__liu 阅读(194) 评论(0) 推荐(0) 编辑
摘要: link:http://codeforces.com/problemset/problem/336/A很简单的一道题目,当初有个单词不认识,isosceles原来意思是等腰的o(╯□╰)o 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15 #include 16 #include 17 #include 18... 阅读全文
posted @ 2013-08-15 18:36 aries__liu 阅读(240) 评论(0) 推荐(0) 编辑
摘要: link:http://acm.hdu.edu.cn/showproblem.php?pid=4666这题学会了怎么处理曼哈顿距离。比如维数是k,那么每个点有2^k个状态,求出在每个状态下,所有点的最大值,最小值,求他们的差,从中找到最大值就行。开始觉得不好处理的是,删除的时候怎么办。比如要删除一个点,我可以在2^k个中的每个状态里面先找到这个点在这个状态下的值,删除这个值就行了。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include ... 阅读全文
posted @ 2013-08-15 18:26 aries__liu 阅读(288) 评论(0) 推荐(0) 编辑
摘要: link:http://poj.org/problem?id=3181本来很常规的一道完全背包,比较有意思的一点是,结果会超int,更有意思的解决方法是,不用高精度,用两个整型的拼接起来就行了。ORZ 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15 #include 16 #include 17 #incl... 阅读全文
posted @ 2013-08-15 18:14 aries__liu 阅读(224) 评论(0) 推荐(0) 编辑
摘要: link:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=83和完全背包一样的思想。有两个trick:浮点数转化成整数的时候,注意精度。因为题目中说了都是5的倍数,所以可以都除以5.没了。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 阅读全文
posted @ 2013-08-15 18:03 aries__liu 阅读(182) 评论(0) 推荐(0) 编辑
摘要: link:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=615和完全背包一样的思想。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15 #include 16 阅读全文
posted @ 2013-08-15 17:59 aries__liu 阅读(206) 评论(0) 推荐(0) 编辑
摘要: link:http://acm.hdu.edu.cn/showproblem.php?pid=2191最简单的那种 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15 #include 16 #include 17 #include 18 #include 19 #include 20 #include 21 ... 阅读全文
posted @ 2013-08-15 17:54 aries__liu 阅读(261) 评论(0) 推荐(0) 编辑
摘要: link:http://acm.hdu.edu.cn/showproblem.php?pid=1059最简单的那种 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15 #include 16 #include 17 #include 18 #include 19 #include 20 #include 21 ... 阅读全文
posted @ 2013-08-15 17:51 aries__liu 阅读(160) 评论(0) 推荐(0) 编辑
摘要: link:http://acm.hdu.edu.cn/showproblem.php?pid=1114只不过求得是最小值。没什么可说的,连我都会做……o(╯□╰)o 1 /* 2 ID: zypz4571 3 LANG: C++ 4 TASK: pig.cpp 5 */ 6 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15 #include 16 #include 17 #include 18 #include 19 #include 20 #i... 阅读全文
posted @ 2013-08-15 17:47 aries__liu 阅读(214) 评论(0) 推荐(0) 编辑
摘要: link:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3623看起来像完全背包,但是物品价值是变化的,所以很多人搞的很复杂。晚上的代码要么很复杂,有一个代码虽然很简洁在zoj可以过,但是是错误的。求教lyl神犇,果然思想很深刻,抓住乐问题的本质,想法比网上搜到的所有博客里面的做法都简洁。事实上,就是简单的DP,抓住一个技巧:让时间倒流,也就是说,把时间反过来考虑,先在将来把船造好,然后在过去用船攻击,哈哈,太巧秒了,说起来很别扭,很有意思,dp[j+time[i]]=max(dp[j]+j*time[i]);dp[j 阅读全文
posted @ 2013-08-15 17:43 aries__liu 阅读(952) 评论(3) 推荐(0) 编辑
摘要: link:http://poj.org/problem?id=3249在拓扑排序的过程中进行状态转移,dp[i]表示从起点到 i 这个点所得到的的最大值。比如从u点到v点,dp[v]=max(dp[v], dp[u]+a[v]) a[]数组是点的价值,最终的dp[]数组里面的最大值就是所求的。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #inclu... 阅读全文
posted @ 2013-08-15 17:29 aries__liu 阅读(201) 评论(0) 推荐(0) 编辑

2013年8月11日

摘要: 分组背包要求每一组里面只能选一个,这个题目要求每一组里面至少选一个物品。dp[i, j] 表示前 i 组里面在每组至少放进一个物品的情况下,当花费 j 的时候,所得到的的最大价值。这个状态可以由三个状态转移过来:dp[i-1, v-a[i,j].b] 表示第 i 组没有放过,将要放进第 i 组里面的第 j 个物品dp[i, v-a[i,j].b] 表示第 i 组已经放过了,将要放进第 i 组里面的第 j 个物品dp[i, j] 表示第 i 中已经放过了,不放第 i 组里面的第 j 个物品a[i, j].b表示第 i 组第 j 个物品的花费,v表示背包容量。初始化:如果一种物品都不放,那么对应的 阅读全文
posted @ 2013-08-11 18:24 aries__liu 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 最基础的分组背包~ 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15 #include 16 #include 17 #include 18 #include 19 #include 20 #include 21 #include 22 #include 23 #include 24 const int IN... 阅读全文
posted @ 2013-08-11 16:20 aries__liu 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 所以我就想重新尝试一下怎么装多系统,bootloader,MBR到底是怎么回事儿。简要记录一下: 首先,在可以作为启动盘的U盘里面,备份一份可以用的WinXP镜像+校园网客户端安装文件+驱动精灵安装文件。然后再说别的。 我的硬盘初步规划是这样的:把硬盘分成4个分区,3P+1E。也就是3个主分区,1个扩展分区。每个50G。硬盘主分区最多有4个,为了以后装Linux,我分了3个主分区,一个用来装WinXP,另外两个装Ubuntu,CentOS。扩展分区再划分出几个逻辑分区:分出100G作为WinXP里面的D盘,装软件;再分出100G作为WinXP里面的E盘,存文档。足够用。剩下的100+G,分.. 阅读全文
posted @ 2013-08-11 15:01 aries__liu 阅读(629) 评论(0) 推荐(0) 编辑

2013年8月6日

摘要: link:http://acm.hdu.edu.cn/showproblem.php?pid=2955首先,这个题目的背包容量不能是概率.1.精度不清楚.2.把概率相加有什么意义呢?所以,转换一下,把所有银行的珠宝和当作背包容量,把小偷安全的概率当作物品价值.可以先求出背包尽可能满的情况下,安全概率最大的解.然后在这些解里面,找出安全概率满足大于1-P的并且价值最大的就行.题目读清楚.人给的是被抓住的概率和每个银行被抓住的概率.这个是不能直接用的.比如连续偷几个银行,就要分别算出安全的概率,这样概率就可以直接相乘了.只要要偷的几个银行的安全概率的积大于1-P就行. 1 #include 2 . 阅读全文
posted @ 2013-08-06 11:06 aries__liu 阅读(203) 评论(0) 推荐(0) 编辑
摘要: link:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=503分成2半,并且两半的差距最小,背包的体积变成V/2 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 阅读全文
posted @ 2013-08-06 10:45 aries__liu 阅读(193) 评论(0) 推荐(0) 编辑
摘要: link:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=565用一个二维数组g[i][v]表示:当状态转移到v的时候,第i个物品是不是用到,如果用到标记1,否则标记0.输出路径的时候,注意,从物品编号0一直到n-1.如果某个物品被用到了,g[i][v]里面的v,就要减去这个物品的体积,然后继续往下找. 1 /* 2 * ======================================================= 阅读全文
posted @ 2013-08-06 10:41 aries__liu 阅读(296) 评论(0) 推荐(0) 编辑
摘要: link:http://acm.hdu.edu.cn/showproblem.php?pid=2546也算一个贪心的想法吧.先把总钱数减去5,再把价值最大的挑出来.然后用01背包.最终买下挑出来的那个价值最大的商品.这样的话,我就实现了最终用最少的钱数买了价值最多的商品,剩下钱数当然也是最少了. 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #incl... 阅读全文
posted @ 2013-08-06 10:31 aries__liu 阅读(156) 评论(0) 推荐(0) 编辑
摘要: link:http://acm.sgu.ru/problem.php?contest=0&problem=259思路就是贪心.首先要读懂题目,输入的方式,把样例读懂.第一,打印的总时间一定.需要做的就是送出的时间尽可能的重合,这样总时间就会更少.所以,送出时间长的要尽可能的先打印,按照送出时间从大到小排序就可以了. 1 /* 2 * ===================================================================================== 3 * Filename: 259.cpp 4 * Cre... 阅读全文
posted @ 2013-08-06 10:27 aries__liu 阅读(255) 评论(0) 推荐(0) 编辑

2013年8月3日

摘要: link:http://acm.hdu.edu.cn/showproblem.php?pid=4632refer to:o(╯□╰)o……明明百度找的题解,然后后来就找不到我看的那份了,这位哥们对不住了…… 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15 #include 16 #include 17 #i... 阅读全文
posted @ 2013-08-03 16:19 aries__liu 阅读(355) 评论(0) 推荐(0) 编辑
摘要: link:http://acm.hdu.edu.cn/showproblem.php?pid=4642refer to:http://www.cnblogs.com/jackge/archive/2013/08/01/3231573.html这道题目很有意思。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15... 阅读全文
posted @ 2013-08-03 10:52 aries__liu 阅读(230) 评论(0) 推荐(0) 编辑
摘要: link:http://acm.hdu.edu.cn/showproblem.php?pid=4639refer to:http://blog.csdn.net/dongdongzhang_/article/details/9706259http://www.cnblogs.com/wuhenqs/archive/2013/08/01/3230987.html 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include... 阅读全文
posted @ 2013-08-03 10:29 aries__liu 阅读(193) 评论(0) 推荐(0) 编辑

2013年7月25日

摘要: link:http://codeforces.com/contest/332/problem/A 1 /* 2 ID: zypz4571 3 LANG: C++ 4 TASK: 193a.cpp 5 */ 6 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15 #include 16 #include 17 #include 18 #include 19 #include 20 #include 21 #include 22 #include 23... 阅读全文
posted @ 2013-07-25 05:33 aries__liu 阅读(229) 评论(0) 推荐(0) 编辑

2013年7月24日

摘要: link:http://codeforces.com/contest/330/problem/E 1 /* 2 ID: zypz4571 3 LANG: C++ 4 TASK: 192e.cpp 5 */ 6 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15 #include 16 #include 17 #include 18 #include 19 #include 20 #include 21 #include 22 #include 23... 阅读全文
posted @ 2013-07-24 21:09 aries__liu 阅读(228) 评论(0) 推荐(0) 编辑
摘要: link:http://codeforces.com/contest/331/problem/A2 1 /* 2 ID: zypz4571 3 LANG: C++ 4 TASK: abby_a.cpp 5 */ 6 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15 #include 16 #include 17 #include 18 #include 19 #include 20 #include 21 #include 22 #include... 阅读全文
posted @ 2013-07-24 21:04 aries__liu 阅读(189) 评论(0) 推荐(0) 编辑

2013年7月22日

摘要: 一年过去一半了,也有半年不回家了,25号就回家了,刚订好票。这半年,总结一下吧。6月的考试: ——痛苦这学期最终果然还是挂了一科。数字逻辑,呵呵,没什么可说的,本来就没有一天认真看过书,实在对这货没兴趣。别的科目。概率论,靠着考前一天多的通宵+运气+RP+老师比较好,最终竟然有81分……就我这个学习态度……囧数据结构,本来挺重要的一门课,但老师超水,貌似我上过的课加一块也就差不多七八节的样子……老师水,最后也有80计算理论,本来也很有深度的一个课程,很抽象,很偏重理论,博士教的,呵呵>__<%暂且就这么解释吧。就好比你做了一个美梦,正沉浸在幸福中,然后醒了,发现那不是真的,那些其实 阅读全文
posted @ 2013-07-22 20:53 aries__liu 阅读(232) 评论(2) 推荐(0) 编辑
摘要: link:http://codeforces.com/contest/330/problem/Abrute force. 1 /* 2 ID: zypz4571 3 LANG: C++ 4 TASK: 191a.cpp 5 */ 6 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15 #include 16 #include 17 #include 18 #define INF 0x3f3f3f3f19 #define mid int m=(l+r... 阅读全文
posted @ 2013-07-22 03:09 aries__liu 阅读(289) 评论(0) 推荐(0) 编辑
摘要: link:http://codeforces.com/contest/330/problem/BI think the problem is hard at first. However, when you think deep in it you will find it is so easy. 1 /* 2 ID: zypz4571 3 LANG: C++ 4 TASK: 192b.cpp 5 */ 6 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #inclu... 阅读全文
posted @ 2013-07-22 03:07 aries__liu 阅读(332) 评论(2) 推荐(0) 编辑
摘要: link:http://codeforces.com/contest/330/problem/Cbroute forcebut you must be careful about some tricks and think about all the instances 1 /* 2 ID: zypz4571 3 LANG: C++ 4 TASK: 192c.cpp 5 */ 6 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15 #include... 阅读全文
posted @ 2013-07-22 03:02 aries__liu 阅读(261) 评论(0) 推荐(0) 编辑
摘要: link:http://codeforces.com/contest/330/problem/DThe discription looks so long, but the problem is simple if you can grasp the problem quickly. 1 /* 2 ID: zypz4571 3 LANG: C++ 4 TASK: 192d.cpp 5 */ 6 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15 #... 阅读全文
posted @ 2013-07-22 02:58 aries__liu 阅读(210) 评论(0) 推荐(0) 编辑

2013年7月19日

摘要: 题目链接:http://codeforces.com/contest/327/problem/C首先先算出一个周期里面的值,保存在ans里面,就是平常的快速幂模m做法.然后要计算一个公式,比如有k个部分,那么对于没一个位置i, 都有2^i + 2^(i+n) + ... + 2^(i+(k-1)*n) = 2^i(1 + 2^n + ... + 2^((k-1)*n)) = 2^i * (1-2^(n*k))/(1-2^n)所以结果就是ans * (1-2^(n*k))/(1-2^n) % MOD;然后就是关键计算(1-2^(n*k))/(1-2^n) % MOD;用到费马小定理a^(p-1) 阅读全文
posted @ 2013-07-19 16:29 aries__liu 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/problemset/problem/327/B这道题目虽然超级简单,但是当初我还真的没有想出来做法,囧,看完别人的代码恍然大悟。 1 #include 2 #include 3 #include 4 int main(void) { 5 int n; scanf("%d", &n); 6 for (int i = n+1; i <= n+n; ++i) { 7 printf("%d", i); 8 if (i != n+n) printf(" "); 9 }10 p 阅读全文
posted @ 2013-07-19 01:07 aries__liu 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/problemset/problem/327/A这道题目有O(N^3)的做法,这里转化为动态规划求解,复杂度是O(N) 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 using namespace std;13 #define INF 0x3f3f3f3f14 int a[102], b[102], c[102];15 i... 阅读全文
posted @ 2013-07-19 01:05 aries__liu 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/problemset/problem/328/A这道题目wa了一次,注意这句话:You should also print 42 if the next element of progression is not integer. So answer is always integer.然后就可以了。 1 /* 2 ID: zypz4571 3 LANG: C++ 4 TASK: iqtest.cpp 5 */ 6 7 #include 8 #include 9 #include 10 #include 11 #include 12... 阅读全文
posted @ 2013-07-19 00:58 aries__liu 阅读(189) 评论(0) 推荐(0) 编辑

2013年7月18日

摘要: 题目链接:http://codeforces.com/problemset/problem/328/B水题~ 1 #include 2 #include 3 #include 4 char n[10], a[202]; 5 int b[13], c[13]; 6 int main(void) { 7 //freopen("in.txt", "r", stdin); 8 scanf("%s%s", n, a); 9 int len1 = strlen(n), len2 = strlen(a);10 memset(b, 0, sizeof 阅读全文
posted @ 2013-07-18 18:50 aries__liu 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.sgu.ru/problem.php?contest=0&problem=548题目意思: 有一个骑士,要经过n个房间,开始在第一个房间,每个房间里面有龙或者公主,遇到龙,可以决定杀或者不杀,如果杀,就可以得到相应的珠宝;如果遇到公主,如果这个骑士此时杀过的龙的数目大于等于公主的美貌值,那么这个骑士必须marry这个公主,不能拒绝..^_^,但是骑士的真爱是在最后一个房间里面的公主,问骑士能不能到达最后一个房间?如果能的话,求出能够到达最后一个房间的情况下,得到的最大的珠宝数.做法: 优先队列+贪心.遇到龙就杀,用优先队列维护得到的珠宝数目,遇到公主就检 阅读全文
posted @ 2013-07-18 17:53 aries__liu 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.sgu.ru/problem.php?contest=0&problem=546这题还好,1Y,考虑情况周全,就没问题了,还好提交之前把想到的情况都测试了一遍.. 1 #include 2 #include 3 #include 4 #include 5 #include 6 char s[202]; 7 int n, a, b, a0[202], b0[202]; 8 int main(void) { 9 //freopen("in.txt", "r", stdin);10 while (~scanf(" 阅读全文
posted @ 2013-07-18 17:42 aries__liu 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.sgu.ru/problem.php?contest=0&problem=551呵呵,题目读的没错,可惜理解错了..== 1 #include 2 #include 3 #include 4 #include 5 #define LL long long 6 using namespace std; 7 int n, t1, t2; 8 int gcd(int a, int b) { 9 return b == 0 ? a : (gcd(b, a%b));10 }11 int exg(int a, int b) {12 return a... 阅读全文
posted @ 2013-07-18 17:39 aries__liu 阅读(292) 评论(0) 推荐(0) 编辑