自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (4)
  • 收藏
  • 关注

原创 hdu4815Little Tiger vs. Deep Monkey 概率dp

//给n(<=40)个数ai(<=1000) //猴每次0.5的概率得到ai这个分数 //问人最少需要多少值才能在概率至少大于p的情况比 //猴的分数大 #include #include #include using namespace std ; const int maxn = 4e4+10 ; double dp[maxn] ; int main() { int t ; s

2015-11-18 17:58:22 332

原创 hdu4499Cannon dfs暴搜

//在一个n*m(n,m<=5)的棋盘上原来放着棋子 //在棋盘的空位上放炮,要求一个炮不能吃到 //另一个 #include #include #include using namespace std ; const int maxn = 10 ; int map[maxn][maxn] ; int n , m ; int judge(int i , int j) { int flag

2015-11-17 16:06:24 361

原创 hdu4496D-City 并查集水题

#include #include #include #include using namespace std ; const int maxn = 1e5+10 ; int F[maxn] ; int x[maxn] , y[maxn] ; int find(int x) { if(F[x] == -1) return x ; return F[x] = find(F[x

2015-11-15 17:37:52 318

原创 hdu4597Play Game 记忆化搜索

//两堆数量为n(n<=20) 的牌,每个牌都有份数 //两个人轮流拿牌,可以取两堆数的头或者尾中的一张 //每个人都取最优解 //问第一个人能够取得的最大分数 //记忆化搜索 dp[sa][ta][sb][tb] 表示第一堆剩下sa,ta,第二堆剩下 //sb,tb的最大值 #include #include #include using namespace std ; const int m

2015-11-15 17:35:12 383

原创 hdu4968Improving the GPA dp

//給定平均分和科目數量, //求平均績點的最大值和最小值。 //dp[0/1][i][j] 表示i们课,总分为j的最小/大值 #include #include #include using namespace std ; const int maxn = 1010 ; const int inf = 1e8 ; double dp[2][20][maxn] ; double c[maxn]

2015-11-14 16:00:13 346

原创 hdu4973A simple simulation problem. 线段树

//n(n<=5e4+10)个格子,每个格子的初始值为1 //m(m<=5e4+10)个询问 //D l r 将区间l,r的所有点翻倍 //D l r 问区间l,r中格子中最多的数 //线段树维护三个值,ss(区间的所有值之和),ma(区间中的最大值) //mm(区间需要乘2的多少次方) #include #include #include using namespace std ; const

2015-11-14 15:03:04 389

原创 hdu 4975A simple Gaussian elimination problem. 最大流

#include #include #include #include using namespace std ; const int maxn = 1010 ; #define inf 0x3fffffff int dis[maxn] ; int vis[maxn] ; int work[maxn] ; int st = 0 ; int en = 1001 ; struct Edge {

2015-11-14 12:25:09 392

原创 hdu5009Paint Pearls dp

#include #include #include #include #include using namespace std ; const int maxn = 5e4+10 ; const int inf = 1e9 ; int dp[maxn] ; int a[maxn] ; map ma; int pre[maxn] ; int last[maxn] ; int main() {

2015-11-12 21:28:45 412

原创 hdu5113Black And White dfs暴搜 +剪枝

//n(n<=5)*m(m<=5)的格子 //k种颜料,每种颜料有ai个 //问这k种颜料能否将这n*m涂满且 //每相邻的格子颜色不同 //暴搜 , 剪枝剩下的颜色的数量大于剩下(sum+1)/2 //直接return #include #include #include using namespace std ; const int maxn = 30 ; int map[maxn][maxn

2015-11-11 21:27:31 387

原创 hdu5308I Wanna Become A 24-Point Master 构造

#include #include #include using namespace std ; const int maxn = 1e5+10 ; int main() { int n ; while(~scanf("%d" , &n)) { if(n <= 3){ puts("-1") ; } e

2015-11-11 19:40:13 327

原创 hdu5303Delicious Apples dp

//在一个长度为L的环上有n棵苹果树, //第i棵苹果树在位置顺时针距离0点为xi,其上有苹果ai //问从0点开始,一个篮子最多装k个苹果,问最需要走 //多少路程能够摘完所有苹果 //可以知道最多绕圆走一次 //dp[0][i] 表示从左边开始取i个苹果的最小代价 //dp[1][i] 表示从右边开始取i个苹果的最小代价 //可以枚举左边开始取多少个,得到最小代价 #include #incl

2015-11-10 21:34:26 255

原创 hdu5514Frogs 容斥

//n只青蛙,每只青蛙每一步跳的步数为a[i] //从0点开始,在一个坐标为0...m-1的环中跳 //青蛙跳的次数没有限制 //问所有的青蛙中任意一只青蛙能够达到的所有的 //坐标之和 #include #include #include #include #include using namespace std ; const int maxn = 1e4+10 ; typedef long

2015-11-08 18:30:06 570

原创 hdu5510 kmp+二分

//给出n个字符串,找出最大的i //使得在(1<=j<i)的范围内有字符串不是i的子串 //从n-1开始往前推,如果字符串j是字符串str[n]的子串 //那么字符串j是在字符串n的哪个区间范围内 //存下前面所有字符串在字符串n的所有区间 //然后可以用二分找到第一个不包含这个区间的前面的区间 #include #include #include #include using namespac

2015-11-08 17:03:55 375

原创 hdu5301Buildings

//给一个n*m的矩形,在(x,y)去掉一个1*1的格子 //剩下的格子需要用小矩形填满 //且每个小矩形至少有一条边和大矩形的边相交 //问需要的最小的最大小矩形 #include #include #include using namespace std ; int main() { int n , m , x , y ; while(cin>>n>>m>>x>>y)

2015-11-07 22:51:15 356

原创 hdu5534 Partial Tree 完全背包

//对于度数为i,其权值为f[i] //问怎样构建一棵点数为n的树,使得它们的权值之和最大,求这个最大值 //这棵树的总点数为2*(n-1),先将所有的点都分配一个度 //然后在剩下的n-2个度用完全背包做 //dp[i]表示i个度的最大值 #include #include #include using namespace std ; const int maxn = 3010 ; int f

2015-11-07 21:42:39 487

原创 hdu5325Crazy Bobo 树形dp

//给一颗树,从这棵中,树上每个点都有权值 //选出一些点集,这个点集在这棵树中是连续的 //将这些点集按照权值从大到小排序,相邻的两个点的唯一路径中 //经过的所有点的权值都要小于它们 //选出的子树中的根节点一定小于其子节点 //dp[u] 表示以u为根节点的子树能有多少节点 //然后再用以个dfs变换一下根节点,选出最大就行 #pragma comment(linker,"/STACk:10

2015-11-07 19:11:00 358

原创 hdu5533Dancing Stars on Me

//给n个坐标,问能否构成正多边行 //由于坐标是整点,所以只能构成正四边形 #include #include #include #include using namespace std ; #define dis(a,b,c,d) (((a-b)*(a-b) + (c-d)*(c-d))) const int maxn = 110 ; double x[maxn] , y[m

2015-11-07 18:59:59 372

原创 hdu5532Almost Sorted Array 最长递增子序列模板水题

//给出长度为n的序列,只去掉一个点使得 //其为不减或者不增的序列 //直接求出最长递增子序列,看其是否大于等于 //n-1就行 #include #include #include #include using namespace std ; const int maxn = 2e5+10 ; int a[maxn] , b[maxn] ; int main() { int t ;

2015-11-07 17:12:52 351

原创 hdu5536Chip Factory dfs+二分

//给出n(n<=1000) //选出三个不同的数,使得(ai+aj)^ak最大 //枚举ai,aj,的到的ai+aj=sum //从sum的二进制最高为开始,sum在该位为,则选择 //二分优先原则这一位和其不同的区间的点 #include #include #include #include #include using namespace std ; const int maxn = 101

2015-11-07 17:01:03 300

原创 hdu5318The Goddess Of The Moon 矩阵快速幂

//n(<=50)种字符串,每一种字符串的个数不限 //前一个字符串s的后缀与后一个字符串t相同且长度大于1 //那么两个字符串可以连接在一起, //那么选m(<=1e9)个字符串连接在一起有多少种情况 //建立一个可连接矩阵,直接快速幂就行,注意一下字符串去重 #include #include #include #include #include using namespace std ; c

2015-11-06 21:15:36 325

原创 hdu5336XYZ and Drops bfs模拟

//n个水团,当水团的大小大于4时 //就会炸开,变为4个小水滴向四个方向移动 //每个小水滴一秒移动一格 //当小水滴遇到大水团,大水团大小加1,小水滴消失 //0秒时有一个水团在sx,sy炸开 //问t秒时各个水团的状态 //用队列保存每个水滴的位置,方向,模拟就行 #include #include #include #include using namespace std ; const

2015-11-06 19:00:49 419

原创 hdu5361In Touch set

//在一条线上,有n(<=2e5)个点,每个点只能到与其距离 //在l[i],r[i]之间,且需要花费c[i] , 问从1点到所有点的 //最小花费 //可以知道从一点到在距离其为l[i],r[i]的所有点的距离是最小的 //所以这些点到第一点的距离是相等的 //然后就可以用set维护一下就行 #include #include #include #include using namespace

2015-11-06 14:19:26 284

原创 hdu5372Segment Game 树状数组

//n个输入 //a[i] b[i] a[i] = 0 , 加上线段[b[i],b[i]+x] , x为加操作的个数 //a[i] = 1 减去第b[i]个加入的线段 //问对于每一个新加的区间能够包括有多少完整的区间 //可以知道线段的长度是递增的,所以原来的区间的长度没有大于现在的 //所以只要求原来的所有区间的左区间大于新加的减去右边大的 //然后由于|b[i]|<=1e9 //所以先将其

2015-11-04 20:18:19 317

原创 hdu5381The sum of gcd 线段树+set

//f(l,r)=∑(i=l~r)∑j=(i~r)gcd(ai,ai+1....aj) //可以知道每添加一个新的数i,添加了i个区间 //而确定了右端点的所有数最多有log(a[i])个 //因为从右往前走,每次最少除2 //所以可以先将其离线 //然后从前到后加入ai用set存入以i为最后一个区间的所有区间 //中所有不同的gcd,每个gcd的个数 //然后用线段树进行成段的更新 #inclu

2015-11-03 22:05:50 473

原创 hdu4784Dinner Coming Soon bfs搜索

//给出一个图 //有n个点,m条边 ,通过每条边需要一定的时间和金钱 //每个点对salt的价格不一样,Coach Pang 可以通过买卖salt赚钱 //有k(2<=k<=5)个平行的空间,Coach Pang 从一个空间到另一个空间的时间为1,花费为0 //在1和n点不能进行salt的买卖,且到达1和n点只能在空间0 //问Coach Pang 刚开始身上钱有r //剩下时间t(0<=t<=

2015-11-01 19:42:16 388

原创 hdu4781Assignment For Princess 构造

//给出n(10<=n<=80),m(n+3<=m<=n*n/7) //需要建出一个图满足下面三个条件 //1.任意一对点对之间最多有一条有向边,且没有自环 //2.这m条边的权值从1到m中的任意一个 //3.从任意点出发,经过任意路径后回到起始点,经过的边权总和是3的倍数。 //可以看成一个图的所有环的权值之和是3的倍数 //可以从1到n建立一个链,边权值是1...n-1 //然后从n到1连一条

2015-11-01 17:59:03 292

原创 hdu4786Fibonacci Tree 最小生成树

//给出一个图,图的每一条边可能是白边 //也可能是黑边,问能否找到一个生成树 //这个生成树中白边的个数是一个fabnaci数 //找一个最大生成树和一个最小生成树 //在这个范围内有fabnaci数就可以找到 #include #include #include #include using namespace std; const int maxn = 1e5+10 ; int Fab[ma

2015-11-01 11:35:12 246

电子技术基础_模拟部分(第五版)_康华光_课后答案(无水印完整清洁版)

电子技术基础_模拟部分(第五版)_康华光_课后答案(无水印完整清洁版)

2015-10-30

Python学习手册

Python可移植、功能强大、易于使用,是编写独立应用程序和脚本应用程序的理想选择

2015-09-11

python基础教程(第二版)

python基础教程中文高清pdf【第二版】

2015-09-11

空空如也

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

TA关注的人

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