自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (1)
  • 收藏
  • 关注

原创 【最小点覆盖(树形dp)】PKU-3659-Cell Phone Network

题意:一棵树,,删掉一个节点,,可以消灭自己和与其相邻的节点,,,问最少删掉几个节点可以消灭所有的节点?思路:树形dp,分三个状态,首先dp[i][j]表示以这点为跟的子树的后代都被消灭了,而dp[i][0]不删除且不被其相邻的点消灭,dp[i][1]表示这点不删除但被其相邻的点消灭,dp[i][2]表示这点删除,然后就是不同状态之间的转移了,具体看代码。题目#include#i

2012-04-18 02:17:55 656

原创 【容斥原理】HDU-1796-How many integers can you find

题意:问1-n范围内(小于n)的数有多少个能够整除一个集合{a,b,……}里任意一个数。思路:容斥原理的模板题,直接上模板了。题目#include#include#include#include#include#include#include#include#includeusing namespace std;#define LL long longint

2012-04-18 02:05:34 874

原创 【二维单调队列】FZU- Problem 2080 最大差值

题意:给出一个n*m的矩阵,要求求出它所有r*c子矩阵里面的元素的最大值减最小值的差的最大值。思路:二维的单调队列维护,时间复杂度为O(n^2)。题目#include#include#include#include#include#include#include#include#includeusing namespace std;#define N 1005

2012-04-18 01:56:55 1087

原创 【数论(扩展的欧几里德)】ZOJ-3593-One Person Game

一道变形的数论题,用到了扩展的欧几里德,具体看代码,另附上某大牛的解析:点击打开链接题目#include#include#includeusing namespace std;#define LL long longstruct euclid{ LL x,y,d;};LL labs(LL x){ if(x<0)return -x; return

2012-04-11 09:56:04 1033

原创 【dp+数论】PKU-3420-Quad Tiling

题目要求用2x1的小长方形去填满一个4xN的大长方形,问有多少种填法……如果数据不大,那完全就是一道很裸的状态压缩dp,不过这题数据大得惊人,所以就想到了矩阵的快速幂相乘,不过找相邻之间的关系那里还是挺麻烦的,这里就贴上以为牛人关于用一个dfs来找关系的解析点击打开链接。题目#include#include#include#includeusing namespace std;

2012-04-09 16:06:28 571

原创 【博弈+数论】ZOJ-3591-Nim

在比赛时一直弄不出这道题,虽知是博弈要用到异或运算,但在找连续的一串数时没什么好的想法,于是就悲剧了……赛后,在广大last大牛的指点下终于把它给过了,总的来说还是太水了……思路:先设sum=(n+1)*n/2,从左到右求出1到i的nim(即1-i异或得到的数),然后把nim[i]从小到大排序,接下来就找到每一段相同的nim数的长度len,用sum-=len*(len-1)/2,当,nim[i

2012-04-09 14:52:02 759

原创 【数论】HDU-4196-Remoteland

题意:取x个不大于n的数相乘出一个最大的完全平方数!这里点击打开链接有某大牛的题解,我就不再累赘了。题目#include#include#includeusing namespace std;#define LL long long#define N 10000000#define mod 1000000007bool flag[N+5];int cnt,prime

2012-04-04 23:50:42 875

原创 【Floyd求无向图的最小环】PKU-1734-Sightseeing trip

Floyd算法就是通过n次枚举中间点k来使i到j的距离松弛为最短,而本题就是在枚举k的时候找环,具体思路见代码!题目#include#include#includeusing namespace std;#define inf 999999#define N 105int n,len,ans,map[N][N],dis[N][N],post[N][N],path[N];v

2012-04-01 18:59:41 674

原创 【dp】HUST-1351-Group

很好的一道dp,它的状态转移真的是太巧秒了!题意:给出一段数列,要求你将这段数列分割成最多k段且每段的个数不能少于l的数列,然后求一个和,它是由一段中所有数字的总和乘以这一段的段数,即这一段是第几段,然后把所有这样的和加起来得到的,问这个和最小是多少!思路:先用sum[i]数组表示1到i这段数列的总和,数组dp[i][j],表示的是将1到j这段数组分割成i段的最小值。所以状态转移为:t

2012-04-01 09:21:36 580

原创 【Floyd求最短路+快速幂】PKU-3613-Cow Relays

这题很好的综合了图论和数论的知识来解题,这种转化综合的思维我要好好地加强训练才行……其实这里明白到一点就可以很好地知道它们之间是怎么转化的,当map[i][j]表示i到j的最短路径,map[j][k]表示j到k的最短路径,且是经过n条路时,那么i到k的最短距离且经过2*n条路就一定是map[i][j]+map[j][k]了!题目#include#include#include

2012-04-01 00:15:26 562

四边形不等式

利用四边形不等式来进行优化的讲解及主要代码!

2012-06-30

空空如也

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

TA关注的人

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