上一页 1 2 3 4 5 6 7 8 ··· 25 下一页
摘要: 题目链接:http://www.bnuoj.com/bnuoj/problem_show.php?pid=29357 直接模拟就可以了。。 1 //STATUS:C++_AC_190MS_1884KB 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... 阅读全文
posted @ 2013-08-26 10:30 zhsl 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.bnuoj.com/bnuoj/problem_show.php?pid=26482 题意:给一颗树,根节点为送电站,可以无穷送电,其它节点为house,电量达到pi时可以点亮,边为电线,传输有容量上限,求最多点亮多少个house。。 简单树形DP,f[i][j]表示第 i 个节点电量为 j 时最多点亮的house个数。那么f[u][j]=Max{ f[u][j], f[u][j-k]+f[v][k] | v为u的儿子节点 }。。 1 //STATUS:C++_AC_208MS_2032KB 2 #include 3 #include 4 #... 阅读全文
posted @ 2013-08-26 10:28 zhsl 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.bnuoj.com/bnuoj/problem_show.php?pid=26480 题意:简单来说,就是给一个图,然后从每个honor list中的点求最短路。。 边权值为1,Bfs就可以了,注意这里是无向图。。 1 //STATUS:C++_AC_84MS_1788KB 2 #include 3 #include 4 #include 5 //#include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #inclu... 阅读全文
posted @ 2013-08-26 10:21 zhsl 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.bnuoj.com/bnuoj/problem_show.php?pid=26476 题意:给一个字符序列,比如MWMMW,每次可以取前面两个中的一个,取出来后,取出来的那个个数加一,要求使得两个字符的个数不超过n,求最多能取多少个。。 贪心就可以了。 1 //STATUS:C++_AC_36MS_1480KB 2 #include 3 #include 4 #include 5 //#include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12... 阅读全文
posted @ 2013-08-26 10:19 zhsl 阅读(435) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.bnuoj.com/bnuoj/problem_show.php?pid=26475 题意:每次输入一个操作,如果是数字,那么放入一个容器中,如果是#号,取出当前容器中的中间值。。 数据结构基础题,显然维护两个堆就可以了,两个堆的size大小不超过1... 其实各种数据结构都可以搞,比如线段树,先离线然后离散,然后线段树记录size,二分查找。。 1 //STATUS:C++_AC_856MS_3192KB 2 #include 3 #include 4 #include 5 //#include 6 #include 7 #include ... 阅读全文
posted @ 2013-08-26 10:14 zhsl 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.bnuoj.com/bnuoj/problem_show.php?pid=26474 题意:给一个数列,可以对三个数操作:把最后一个数放到第一个,前两个数后移一位。问最后能否到达相应的目标序列。。 先考虑三个数A B C,变换后两种情况B C A和C A B,可以证得(列举3个数的大小情况,枚举证),这三个序列变换后的逆序对个数的奇偶性是相同的,而且只有这3个序列相同,所以A B C只能到达与之奇偶相同的序列,而且是全部能到达。那么多个数的情况也是一样的,就是多个3元组的扩展。因此如果变换后的逆序奇偶性相同,那么有解,否则无解。。 1 //STATUS... 阅读全文
posted @ 2013-08-26 10:09 zhsl 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=2480 题意:多次求sigma(gcd(i,n), 1 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 //#in... 阅读全文
posted @ 2013-08-26 01:51 zhsl 阅读(460) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2705 题意:求 sigma(gcd(i,n), 1 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... 阅读全文
posted @ 2013-08-26 01:31 zhsl 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2820 题意:多次询问,求1 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 #i... 阅读全文
posted @ 2013-08-25 11:56 zhsl 阅读(682) 评论(1) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4689 题意:初始序列1,2...n,求所有满足与初始序列规定大小的错排数目。。 这道题目感觉很不错~ 题目数据很容易想到用压缩DP,但这题测试数据很多,状压基本都会TLE。。 f[i][j]表示前 i 个数还有 j 个+号没有放数字,-号全部放满。 当 i 为+号时:1、当前这个数不放,即放在后面的位置中,f[i][j]+=f[i-1][j-1]。2、当前这个数放在前面的位置中,f[i][j]+=f[i-1][j]*j。所以f[i][j]=f[i-1][j-1]+f[i-1][j]*... 阅读全文
posted @ 2013-08-25 02:04 zhsl 阅读(425) 评论(0) 推荐(0) 编辑
摘要: 转自教主...很多人都关心这个问题,来信问我。我一直想总结一下经验,让大家可以免得走弯路。今天终于开始写这篇文章。我的文章一般都会在发表之后不断改动,所以如果转载请只给出链接,以便得到最新的版本。面向对象语言不适合入门有的人抱怨很多学校开始教授 Java 而不是以前的 C 或者 Pascal。的确,Java 有很多问题,使得它不适合作为一种入门语言。其实 Java 本质上是把自身的一种古板的设计强加于程序员,使得他们失去了灵活的思维。比如 Java 缺少高阶函数,也就是不能把函数作为参数或者变量传递,这导致了需要使用繁琐的设计模式 (design patterns) 来达到对于 C 语言都.. 阅读全文
posted @ 2013-08-22 21:32 zhsl 阅读(484) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4705 题意:给一颗树,从树上任意选择3个点{A,B,C},要求他们不在一条链上,求总共的数目。 容易想到枚举每个点,然后从每个点的所有分支中选择3个分支,然后从每个分支中选择1个点。假设点u有k个分支,每个分支的节点个数为a1,a2...an,那么方案数就是这个数列中所有3个数的积的和。直接枚举肯定会TLE的。我们可以维护3个前缀和,f1[i]表示前 i 个数选择一个的方案数,f2[i]表示前 i 个数选择两个的方案数,f3[i]表示前 i 个数选择3个的方案数。那么f1[i]就是前缀和,... 阅读全文
posted @ 2013-08-22 20:26 zhsl 阅读(403) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4704 题意:求a^n%m的结果,其中n为大数。 S(1)+S(2)+...+S(N)等于2^(n-1),第一次多校都出过吧。然后就是一个裸的大数幂了。。 关于大数的A^B mod C推荐看AC神的两篇文章,... 当然,这个还以一个更简单的方法,由费马小定理:a^(p-1)=1(mod p),那么a^n=1(mod p)可以转化为:2^(n%(1e9+7-1)) % 1e9+7... 1 //STATUS:C++_AC_15MS_1360KB 2 #include 3 #inc... 阅读全文
posted @ 2013-08-22 20:02 zhsl 阅读(429) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4699 题意:开始有一个光标,每次有5中操作:1,光标当前位置插入一个数,2,光标当前位置删除一个,3,光标向左移一位,4,光标向右移动一位,5,询问前面的数列的最大前缀和。 由于每次删除的数都是在当前的光标位置,而且询问的前缀和都是在光标前面的位置,因此问题简化了很多,否则要用Splay tree搞了。我们可以直接用一个链表或者两个栈来维护光标以前的最大前缀和,然后直接模拟操作就可以了。。。 1 //STATUS:C++_AC_671MS_10824KB 2 #include 3 #in... 阅读全文
posted @ 2013-08-22 19:42 zhsl 阅读(421) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4696 题意:给一个图,每个点的出度为1,每个点的权值为1或者2。给n个询问,问是否能找到一条路径的权值和M。。。 首先由于每个点的出度为1,所以必然存在环。容易证明,一个环中存在1或者与环相连的路径存在权值为1的节点,那么必然每个数都能组成,如果没有1那么所有偶数都能组成。。。 可以无视代码> 3 #include 4 #include 5 //#include 6 #include 7 #include 8 #include 9 #include 10 #i... 阅读全文
posted @ 2013-08-22 19:35 zhsl 阅读(492) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 25 下一页