自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(40)
  • 资源 (6)
  • 收藏
  • 关注

原创 【DP_树形DP专辑】【9月9最新更新】

树,一种十分优美的数据结构,因为它本身就具有的递归性,所以它和子树见能相互传递很多信息,还因为它作为被限制的图在上面可进行的操作更多,所以各种用于不同地方的树都出现了,二叉树、三叉树、静态搜索树、AVL树,线段树、SPLAY树,后缀树等等..     枚举那么多种数据结构只是想说树方面的内容相当多,本专辑只针对在树上的动态规划,即树形DP.做树形DP一般步骤是先将树转换为有根树,然后在树上

2012-07-10 01:53:44 12978 8

原创 2012年浙大7月月赛总结 (Zoj Monthly July 2012)

本次月赛由我、DTen和sssplk完成,三台机子同时进行。     本次比赛的题目说不上特别好,因为就四种题型:数学、贪心、DP、图论,最后一题和G题有用到线段树,其他的内容似乎都没提及,不够综合,这也导致我从头敲到尾,两位可怜的队友成了翻译,从头看题看到尾。另外这场比赛被好几个神牛AK,原来AK如此简单,这也是我觉得题目不够好的原因,我想应该是Watashi不在,没出神题卡AK.

2012-07-31 02:06:16 5039 9

原创 2012年浙大7月月赛 源码和部分数据

解题报告请见: http://blog.csdn.net/woshi250hua/article/details/7803599 部分题目代码如下: A题代码:#include #include #include using namespace std;int dp[1000] = {0,1,2,5,10,20,25,50,100,125,200,250,500,

2012-07-31 02:05:58 3256 2

原创 组合数取模模板

#include #include #define int64 long long#define MOD 100000007int64 x,y,pnum;int64 n,m,p,q,ans;int64 getMultMod(int64 start, int64 end, int64 p) { int64 i, j; int64 res; for (i =

2012-07-30 20:59:41 66

原创 2008年成都网络赛训练总结

本次训练赛由我、DTen和sssplk完成,三台机子同时进行。     本次训练我们发挥得并不好,只A了一题,但是第一题是很快的1A.然后我就开始卡题,4个小时半卡在B题-矩阵乘法,而DTen则对剩下的题目不知所措,sssplk负责几何也对那道几何无可奈何。这场比赛我能做的题比较多,但是因为坑爹的杭电只提供十分渺小的系统栈,导致我的矩阵二分时递归RE,,然后找各种模板来取代递归版,咳,都是

2012-07-29 01:02:01 780

原创 Hdu 2430 Beans (数据结构_单调队列)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2430题目大意:有n坨豌豆,每坨都有w[i]个,现在要从中选择连续的若干坨,然后用一个能装p个豌豆的背包装豆子,直到剩下的豌豆数量解题思路:题意很明了,模型也很好抽象。本题就是要选择连续的一段和为sum,使得max(sum/p) 且sum%p那么要怎么算这个sum

2012-07-27 02:38:48 1476 1

原创 Hdu 2429 Word Game (数学_矩阵乘法)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2429题目大意:给n个串,如果某个串最后一个字母等于另一个字符第一字母就可以相连。现在从这些串中选一个S作为初始点,两个人轮流取n个串作为S的下一个串,如果最后选的是字符串T,那么最后的选的人就赢了。问进行不多于m轮,第一个选的人赢的种数,对MOD=10001取余。

2012-07-27 00:22:53 1101

原创 Poj 1222 EXTENDED LIGHTS OUT (数学_高斯消元)

题目链接:http://poj.org/problem?id=1222题目大意:给一个5*6的01矩阵,0表示灯暗的,1表示灯亮着。矩阵中每个位置表示一个按钮,当按钮按动时它周围(上下左右)的灯变成相反的状态。问怎么按可以将所有的灯都变成暗的。解题思路:这类开关问题算比较经典的高斯消元题了,做这题时我能想到怎么建立那个矩阵,但后面的那个解不知道如何求,线代老

2012-07-26 00:35:01 2366

原创 Poj 2605 SETI (数学_高斯消元)

题目链接:http://poj.org/problem?id=2065题目大意:给定一个素数p和一个字符串串str。令f[i] = Num(str[i]),Num(str[i])表示当str[i]为*的时候为0,str[i]为a-z的时候为str[i]-a+1.          接着得到n(str[i]的长度)个方程组,每个方程组格式为(a1*k^0+a2*k^1+.

2012-07-26 00:34:29 1020

原创 Hdu 2419 Boring Game (数据结构_并查集)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2419题目大意:给定n个点m条边的无向图,每个点有点权。有q个操作,每个操作有三种:1、查询和某个点连通的大于k的最小点权 2、将某点的点权更新为k 3、删除某条边。解题思路:08年网络赛的题目,全场5个人过,但绝对是难度中等的并查集好题。从这题我学到了对给定操作

2012-07-25 02:34:23 1433

原创 hdu 3709 Balanced Number (DP_数位DP)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3709题目大意: 题目先给出平衡数的概念:数n以数n中的某个位为支点,每个位上的数权值为(数字xi*(posi - 支点的posi)),如果数n里有一个支点使得所有数权值之和为0那么她就是平衡数。比如4139,以3为支点,左边 = 4 * (4 - 2) + 1 * (3  - 2) = 9

2012-07-25 01:20:30 1504 2

原创 Hdu 3555 Bomb (DP_数位DP)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3555题目大意:如果某个数中含有49,那就叫2B数(原来好像不是这个,随便啦).问[0,n]里有几个2B数,n 解题思路:数位DP,和Hdu 3652差不多,但我感觉这题更简单,因为记录的状态更少。这题我用两种方法写过了,其实说两种方法也就是记忆化搜索时传递的参数

2012-07-25 01:20:11 1221

原创 Hdu 2888 Check Corners (数据结构_二维RMQ)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2888题目大意:给定一个n * m的矩阵,再给定q个询问,每次询问(r1,c1)为左上角,(r2,c2)为右下角的子矩形的最大值。解题思路:很常规的二维RMQ查询最大值。第一次写二维rmq,现在来理下思路。

2012-07-24 10:40:36 957

原创 Zoj 3195 Design the city (数据结构_LCA)

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3320题目大意:给定n个节点的树,要求我们查询树上三个点之间的距离。n 解题思路:LCA好题,和普通的LCA不同的是本题查询的是三个点。一开始我的做法很诡异,找三个点的关系,然后离线Tarjan求解。我共找到4个关系,但是总能找到反例拓展这些关系

2012-07-23 00:49:13 992 2

原创 Zoj 3195 Design the city (数据结构_LCA)

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3320题目大意:给定n个节点的树,要求我们查询树上三个点之间的距离。n 解题思路:LCA好题,和普通的LCA不同的是本题查询的是三个点。一开始我的做法很诡异,找三个点的关系,然后离线Tarjan求解。我共找到4个关系,但是总能找到反例拓展这些关系

2012-07-22 11:03:45 94

原创 Zoj 3469 Food Delivery (DP_好题)

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3469题目大意:送餐员送餐问题。有n个人叫餐,每个人都在x轴上,并且每个人都有个坑爹度(和等餐时间有关,据说顾客认为坑爹值到一定程度他的小宇宙就要爆发).现在送餐员从x轴上的某点出发,路上奔跑速度是v,要一次性把所有餐送完。叫餐的人得到餐的时间和

2012-07-21 01:51:42 1818 2

原创 Hdu 2874 Connections between cities (数据结构_LCA)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2874题目大意: 给你一个n个节点m条边的森林,再给定q个查询,每次查询森林里两个点的最近距离。n ,m <= 10000,q 解题思路:十分经典的LCA,其实也是十分朴素的LCA题,只不过这题给定的是森林而不是一棵树,差别就只是一个for循环用来多次计算。看到一篇aiguo

2012-07-20 02:36:05 1136

原创 Poj 2452 Sticks Problem (数据结构_RMQ)

题目链接:http://poj.org/problem?id=2452题目大意: 给定一个长度为n的序列,序列里的元素都不相同,要求找出一对(i,j),i=i&arr[k]<=j,All(i 解题思路:RMQ+二分,有人暴力过,估计是数据的问题。先初始化rmq,这里的dp数组存储的是序列的下标。然后枚举每个结束点x,用rmq查询离x点最远的点j,使得max[j,x-1]

2012-07-20 02:19:47 839

原创 zoj 3462 Nobita's New Filesystem (模拟题_Bitset应用)

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4227题目大意: 给定n个文件夹,每个文件夹有若干tag和一个size。再给出m个查询,查询也是若干个tag,要求找出这些tag在n个文件夹中的哪些里面出现,可以无视tag的顺寻,凡出现的都把size加起来,然后输出。解题思路:用bitset和m

2012-07-20 01:49:17 852

原创 Zoj 3465 The Hive (模拟题)

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4230题目大意:给定一个峰巢结构,让我们模拟小蜜蜂产密。n只蜜蜂产26种蜜并指定在某列产蜜,一旦在某列产蜜,蜜就从顶部跑到底部。如果那列满了,就永远也装不进去了。如果上下列蜜的种类相同则产生一种candy,问最后可产多少candy?解题思路:简单

2012-07-19 01:07:19 822

原创 Hdu 3486 Interviewe (数据结构_RMQ)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3486题目大意: 给定n个数的序列,让我们找前面k个区间的最大值之和,每个区间长度为n/k,如果有剩余的区间长度不足n/k则无视之。现在让我们找最小的k使得和严格大于m。n<=20万,m 解题思路:简单RMQ,二分枚举区间个数,然后判断当前的区间个数k是否符合找出来的区间之和

2012-07-18 02:08:11 1016 1

原创 八皇后__位运算优化搜索

题目大意: 和A+B一样经典的八皇后问题,要求输出前三个字典序最小的解,以及总的方案数。解题思路: 如果N比较小,那么随便搜都可以过。但如果N大等于10,就要求对程序进行优化。         这题我很奇葩地用广搜来做,各种状态压缩压线飘过,搓的一逼。AC后去网上找了几篇解题报告,发现用位运算来优化深搜,非常飘逸。         其中属Matrix67的文章分析地

2012-07-18 02:07:56 1023

原创 Poj 3264 Balanced Lineup (数据结构_RMQ)

题目链接:http://poj.org/problem?id=3264题目大意:给定一个序列,n个数,给出m个询问,每次询问[li,ri]区间的最大值与最小值的差。解题思路:一直想花点时间补下数据结构方面的知识,但因为状态dp和树形dp较难,花了大把时间。想放弃又害怕痛苦!到现在也没能搞定这两个家伙,今天早晨终于归零,开始学RMQ.    这题应该是

2012-07-17 00:11:04 940

原创 Hdu 1806 Frequent values (数据结构_RMQ)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1806题目大意: 给定一个不递减长度为n的序列,给定m个询问,每次询问[li,ri]内上镜率最高的那个数的出现次数。解题思路:简单RMQ,因为序列不递减,所以这题变得十分简单。先从询问开始研究,要找[l,r]内出现最多的次数,其实可以把这个区间内每个数出现的次数压缩成一个数,比如

2012-07-17 00:09:40 838 1

原创 Zoj 3211 Dream City (DP)

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3374题目大意:给定n棵摇钱树,一开始每棵树上有ai的钱,每天以bi的速度涨钱,神树啊。主角每天砍一棵树,连续砍m天,不能间断。问最多可以能得多少钱?解题思路:今天做了浙江2009年的省赛,一共出了7题,排名还算靠前,但是一点也不

2012-07-16 01:09:02 769

原创 Hdu 3237 Help Bubu (DP_状态DP)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3237题目大意:一个书架有n本书,每本书的高度介于25和32之间,n本书中高度连续相同的算一段,一般来说n本书会有很多段,现在可以取出k本书再插进原书架中,问这些书最少有几段?n 解题思路:由于书的高度介于25和32之间,可以把书的高度减去25变成介于0和7之间,这个

2012-07-15 00:46:37 1406 1

原创 Hdu 2809 God of War (DP_状态压缩DP

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2809题目大意:奥特曼很牛逼,要单挑n只怪兽。怪兽和奥特曼一样都有hp、攻击力、防御力,奥特曼有一个经验值属性,通过打怪兽获得经验值超过100就升级,升级时hp加一些,攻击力加一些,防御力加一些,回不到满血状态,奥特曼每次都要和怪兽血拼,奥特曼先打,怪兽后打,直到一方倒下为止。问奥特曼能不能打倒

2012-07-15 00:46:27 948

原创 Poj 3254 Corn Fields (DP_状态压缩DP)

题目链接:http://poj.org/problem?id=3254题目大意:给定一个n*m的矩阵,矩阵上有数值有0和1,1表示这个坐标可以放置东西,要求放置的东西不能相邻,问有多少种放法?n,m解题思路:简单状态DP,dp[i][j]表示第i行放置东西的状态为j的方法数,j是一个若干个二进制数的和,表示哪些列放置了东西。                  然后进行递推,

2012-07-14 13:32:23 866 2

原创 Hdu 1438 钥匙计数之一 (DP_状态压缩DP)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1438题目大意:一把锁匙有N个槽,槽深为1,2,3,4。每锁匙至少有3个不同的深度且至少有1对相连的槽其深度之差为3。求这样的锁匙的总数。解题思路:手贱用状态DP来写这递推题,用状态DP很好想但是编程略微复杂。用dp[i][j][k][s]来表示排到钥匙的第i个糟,i以前

2012-07-14 09:36:55 939 3

原创 Poj 1185 炮兵阵地 (DP_状态DP)

题目链接:http://poj.org/problem?id=1185题目大意:给定一张n*m的地图,地图上有平原p,有山地h,可以在平原p打炮,俗称野战,打炮方向有四个,上下左右,射程是2,要求两个炮不能相互打到,问符合这个要求的情况最多打几个炮?n 解题思路:经典NOI题,矩阵里的状态压缩问题。因为m,类似于递推式dp[i] = dp[i-1] + dp[i

2012-07-12 02:07:26 912 2

原创 Hdu 3466 Proud Merchants (DP_背包)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3466题目大意:给定n个物品和钱m,每个物品有价格p,限制钱数q,价值v,限制q的意思是你手头的前必须大等于q才能装买这个物品,问最后获得的最大价值。n解题思路:与顺序有关的01背包。初看之下似乎和普通背包差不多,判容量大于q时才装。但是这会出大问题,如果一个物品

2012-07-12 02:06:54 1466

原创 Hdu 3466 Proud Merchants (DP_背包)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3466题目大意:给定n个物品和钱m,每个物品有价格p,限制钱数q,价值v,限制q的意思是你手头的前必须大等于q才能装买这个物品,问最后获得的最大价值。n解题思路:与顺序有关的01背包。初看之下似乎和普通背包差不多,判容量大于q时才装。但是这会出大问题,如果一个物品

2012-07-11 16:13:59 66

原创 Poj 3162 Walking Race (DP_树形DP(线段树))

题目链接:http://poj.org/problem?id=3162题目大意:给定一张地图,它是一棵n个节点的树。mm爱跑步,mm要跑n天,每次都从一个结点开始跑步,每次都要跑到最远的那个结点,两天跑的最远距离有个差值,现在要从这n天里去若干天使得这些天的差值都小于m,问怎么取使得天数最多?n 解题思路:树形DP + 线段树。虽然数据量很吓人,但经过分析发现这题就是几

2012-07-09 00:52:55 108

原创 Poj 2152 Fire (DP_树形DP)

题目链接:http://poj.org/problem?id=2152题目大意:给定n个节点组成的树,树有边权.现在要在一些点上建立消防站,每个点建站都有个cost[i],如果不在当前的点上建站,也要依赖其他的消防站,并且距离不超过limit[i]。求符合上述条件的最小费用建站方案。n 解题思路:复杂度为O(n^2)的树形DP.因为要依赖其他站点,所以不仅仅只从子树中获

2012-07-08 09:21:38 3098 1

原创 Poj 1741 Tree (DP_树形DP(分治))

题目链接:http://poj.org/problem?id=1741题目大意:给定n个节点组成的树,树有边权,现在给定一个点u和v,dis(u,v)表示u和v节点的最近距离,问dis(u,v)<=k的uv对数,n 解题思路:一看题目就觉得非常经典,不会做。这题是楼教主的男人八题之一,考察的是树上的分治和树形dp的思想。我想到的是一个n^2的暴力算法和一个n*k的背包解

2012-07-07 00:19:28 3448 2

原创 Hdu 4044 GeoDefense (DP_树形DP)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4044题目大意:给定n个节点组成的树,1为敌方基地,叶子结点为我方结点。我们可以在每个结点安放炮台,至多一炮,然后就可以打炮,每个结点有ki种炮,每种炮有一个花费和一个能量(能量对应着打掉敌人多少hp)。敌人可能往一个结点的每条分支跑,所以要想保证守住阵地,就要保证每个分支都要安放炮台。最后问怎

2012-07-06 00:43:06 1845

原创 Uestc 1558 Charitable Exchange (数据结构_线段树(DP))

题目链接:http://acm.uestc.edu.cn/problem.php?pid=1558题目大意:给定n个区间[begi,endi],表示能从begi转换到endi,每个区间都有一个权值ti,现在要从1转换到大等于m的一个状态,问最少的权值,如果没办法到达那个状态,输出-1。n解题思路:线段树优化DP。如果n很小,那么这题有好多解法,用最短路(如果两个区间相连就添

2012-07-06 00:42:50 919

原创 Poj 3140 Contestants Division (DP_树形DP)

题目链接:http://poj.org/problem?id=3140题目大意:给定一棵n棵节点的树,求删去某条边后两个分支的最小差异值。解题思路:树形DP.深搜两次,第一次深搜记录从当前节点的子孙节点总数(包括自己),第一次算预处理,复杂度为O(N),第二次利用第一次的结果找去掉某条边后的最小差异值,答案需用__int64。其实一切皆模拟,这题只是模拟地比较有规律而已。

2012-07-03 08:03:08 1546

原创 Poj 1655 Balancing Act (DP_树形DP)

题目链接:http://poj.org/problem?id=1655题目大意:给定一棵n棵节点的树,删去某个节点后剩下来的分支中肯定会有最大节点数,求所有节点的最大分支节点数的最小值。解题思路:树形DP.深搜两次,第一次深搜记录从当前节点的子孙节点总数(包括自己),第一次算预处理,复杂度为O(N),第二次利用第一次的结果找各分支的最大节点数,分支有两种情况,一种是孩子的分

2012-07-03 01:38:42 1603

原创 Poj 2378 Tree Cutting (DP_树形DP)

题目链接:http://poj.org/problem?id=2378题目大意:给定一棵n棵节点的树,如果删去某个节点使得剩下来的最大分支节点数小等于节点总数的一半则这个删除就是叼爆的,问叼爆的删法总数。解题思路:树形DP.深搜两次,第一次深搜记录从当前节点的子孙节点总数(包括自己),第一次算预处理,复杂度为O(N),第二次利用第一次的结果找各分支的最大节点数,分支有两种情

2012-07-03 01:30:39 1493

Solr可直接执行的Reuters 21578文档集

原始的Reuters 21578文档集是sgm格式的,不适合直接应用。本文档集中每个新闻为一个文档,包含标题和内容。用Solr可以直接执行。

2014-12-13

俄罗斯方块,C实现

简单的俄罗斯方块程序,C语言实现,界面简洁友好

2011-12-22

MP3播放器,MFC实现

实现了音量控制、歌曲添加、删除、播放设置、刻录功能

2011-12-22

ACM北大暑期集训队课件

本课件是2009-2010年北京大学ACM集训队使用的课件,课程分8节课,由易到难,想提高的的ACMer必备

2011-11-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除