自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 BNU 1111(dfs+剪枝)

//题意:给定n 让你找到最短的序列1 , 2, ....................., n 使得每个数都可由它之前的任意两个数相加得到//方法dfs+剪枝#include #include "stdio.h"#include "stdlib.h"#include "string.h"#include "algorithm"#include #define N 100005

2015-11-28 17:33:56 353

原创 HDU 1074(状态压缩dp)

//起初想到贪心没思路 看了题解 状态压缩DP 最多15个状态// [1, 1<<n) 枚举各个状态推出的每种可能即可//注意题意说如果答案相同输出字典序最优的答案//只需要在枚举的时候处理下就好 这里理解了好一会儿 #include #include "stdio.h"#include "stdlib.h"#include "string.h"#include "algorith

2015-11-28 16:47:02 377

原创 ZJU 3469(区间DP)

//题意:给定n, v, x 分别表示有n个顾客,速度是1/v,初始位置,然后有n行分别输入每个顾客的左边 和 每分钟增加的厌恶值,让你输出最小的厌恶值//#include #include "stdio.h"#include "stdlib.h"#include "string.h"#include "algorithm"#include #include #define N

2015-11-27 21:47:18 421

原创 HDU 2077(dp)

//题意:中文题就不说了//方法:求dp[n](n块盘子需要多少步从最左边移到最右边)// 1. 将上面的n-1块圆盘先从最左边移到中间 .......................需要a步// 2. 第n块(最大的)盘子直接通过中间放在最右边 ...........需要2步// 3. 再将n-1块圆盘从中间移到右边..

2015-11-27 21:31:49 395

原创 HDU 1532(最大流模板题)

#include #include "stdio.h"#include "stdlib.h"#include "string.h"#include "algorithm"#include #include #include #define INF 1<<30;#define N 205using namespace std;int capacity[N][N]; //两点

2015-11-27 21:10:59 661

原创 HDU 4521(dp)

// 类似于lis的求解 就是增加了下标之间的差值要满足大于d 有些不同 好好理解了下还是有点模糊的 以后还得再琢磨琢磨// main.c// example//// Created by Adam on 15/2/2.// Copyright (c) 2015年 Adam. All rights reserved.#include #include "stdio.h"

2015-11-27 16:43:09 431

原创 HDU 2569(递推)

//题意是中文的 大家都看得懂//方法:dp[i]就是长度为i第一个格的颜色为红色总共有多少种方法// 所以要乘上3才是答案// 由dp[i-1]推dp[i]的时候 第i块放在第二个位置考虑 // 这样的话,第i块有两种可能// 与第一块同色 这样有dp[n-2]种//

2015-11-24 18:17:40 913 1

原创 HDU 1158(dp)

// 题意:给定n个月 雇佣工人的钱 工人每个月的工资 解雇工人付的钱// 以及每个月所需要的工人人数 让你求出满足条件的最省钱的花费代价// 方法:暴力dp就好了 dp[i][j]表示 第i个月结束的时候雇佣j个人所需要的最小代价// main.c// example//// Created by Adam on 15/2/2.// Copyright (

2015-11-18 21:50:42 329

原创 ZOJ 3469(区间DP)

//第一次做区间DP的题 看了别人的题解写的//解法只要将各个点(包括餐厅的位置)按照距离原点的距离升序排序//然后从餐厅这个点开始向两侧区间DP// dp[i][j][0] 表示 当前点送完了区间[i,j]的外卖并且在区间的左端点I点// dp[i][j][1] 表示 当前点送完了区间[i,j]的外卖并且在区间的右端点J点//那么dp[i][j][0] 可由dp[i+1][j][0]

2015-11-17 20:02:26 402

原创 POJ 1363(栈)

#include #include "stdio.h"#include "stdlib.h"#include "string.h"#include "algorithm"#include #include #define N 100005using namespace std;int main(){ int n; int target[1005]; s

2015-11-16 22:36:00 391

原创 HDU 1619(dp)

// 题意:从矩形左边到达右边使得走过的格子的权值相加最小 结果相同按照字典序小的输出// 方法:从右向左一列一列处理 用一个相同大小的数组记录当前格子下一步选择的方向// 这样推到第一列之后就可以再推回去将序列输出// 在选择方向的时候可以稍微处理下 就可以保证得到的序列字典序列一定是最小的// main.c// example//// Creat

2015-11-15 21:22:36 367

原创 poj3468(线段树||树状数组)

//成段更新线段树即可#include #include "stdio.h"#include "stdlib.h"#include "string.h"#include "algorithm"#include #define N 100005using namespace std;struct node { long long int data,lazy; in

2015-11-14 14:41:12 412

原创 HDU5253(最小生成树)

////最小生成树有很多种算法 习惯用并查集+克鲁斯卡尔// main.c// example//// Created by Adam on 15/2/2.// Copyright (c) 2015年 Adam. All rights reserved.//#include #include "stdio.h"#include "stdlib.h"#incl

2015-11-10 13:12:30 673

原创 HDU5256 序列变换(LIS求严格上升子序列)

//求严格递增上升子序列len 然后结果n-len//严格上升子序列只需建立一个 ss[i]-i数组 然后求解一般的LIS即可#include #include "stdio.h"#include "stdlib.h"#include "string.h"#include "algorithm"#include using namespace std;int ss

2015-11-07 17:28:16 607

原创 POJ3067(树状数组||线段树)

//东海岸有n个城市 西海岸有m个城市 他们之间有K条路//问这些路共有多少个交点 任意一个交点只有两个路构成//只需要将起点设为东海岸 终点设为西海岸//将路按照起点编号从小到大 终点编号从小到大排序 然后用树状数组或线段树维护即可#include #include "stdio.h"#include "stdlib.h"#include "string.h"#includ

2015-11-07 14:52:19 511

原创 POJ3126 (bfs)

//题意给定两个四位数均是质数   由一个质数转化成另一个质数的最短步数  要求每次改变只能改变某一位上的数字 BFS即可 #include #include "stdio.h"#include "stdlib.h"#include "string.h"#include "algorithm"#include using namespace std;in

2015-11-07 12:54:40 325

原创 poj 1426(同余模&&bfs)

bfs双入口首先 x = 1 然后考虑 10 和 11接着 100 101 110 111 然后根据同余模定理 (x*10)%n=(x%n*10%n)%n 那么我们只需要执行到某一步的余数为0即可每次保存余数 就可以根据 余数 进行计算 (当前的余数*10+1||0)%n就是下一步的余数 直到找到0为止//// main.c// exa

2015-11-07 00:05:43 443

原创 poj 3278(bfs)

//// main.c// example//// Created by Adam on 15/2/2.// Copyright (c) 2015年 Adam. All rights reserved.//#include #include "stdio.h"#include "stdlib.h"#include "string.h"#include "algori

2015-11-06 23:22:09 341

原创 CodeForces 319B 栈

//题意:给你长度为n的序列ss 只要ss[i]>ss[i+1] ss[i]就可以吃掉ss[i+1]//hint里的样例很明白了 [10 9 7 8 6 5 3 4 2 1]  → [10 8 4] →  [10].//方法就是利用栈模拟o(n)的效率求出每个元素第几次被吃掉,然后取最大值即可//  main.c//  example//// 

2015-11-06 20:40:58 808

原创 hdu 1331 (暴力打表)

#include #include "stdio.h"#include "stdlib.h"#include "string.h"#include "algorithm"#include using namespace std;int vis[22][22][22];int ss[22][22][22];int w(int a,int b,int c){ if(a0

2015-11-05 21:07:05 917

原创 hdu 1078 (记忆化搜索)

方法:记忆化搜索即可#include #include "stdio.h"#include "stdlib.h"#include "string.h"#include "algorithm"#include #define N 1800000using namespace std;int n,k;int ss[105][105];int dp[105][105];in

2015-11-05 20:59:25 389

原创 hdu 1016 (dfs)

方法:很明显的dfs即可    至于路径dfs的过程中保存即可  找到就输出#include #include "stdio.h"#include "stdlib.h"#include "string.h"#include "algorithm"#include #define N 1800000using namespace std;int n;int prime[1

2015-11-05 20:48:05 518

原创 HDU2546 (01背包)

01背包题注意留出五块钱减去最贵的商品即可#include "iostream"#include #include #include #include "string.h"#include "math.h"using namespace std;int cmp(int a,int b){ return ab;}int main(){ int n,

2015-11-05 16:19:52 343

原创 hdu2446 (二分搜索)

打表两个数组 然后二分就好#include #include "stdio.h"#include "stdlib.h"#include "string.h"#include "algorithm"#include #define N 1800000#define LL long long intusing namespace std;LL ss[N]={0},as[N

2015-11-05 16:15:10 472

PopCon(泡泡堂)

用C++和DirectX实现的引擎和泡泡堂游戏

2017-03-17

空空如也

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

TA关注的人

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