- 博客(52)
- 收藏
- 关注
原创 poj 2392 space elevator
题意:有一群牛要上太空,他们计划建一个太空梯(用一些石头垒),他们有k种不同类型的石头,每一种石头的高度为h,数量为c,由于会受到太空辐射,每一种石头不能超过这种石头的最大建造高度a; 我们来简化一下这个问题,现在有n个物品,每个物品的质量为w[i],每个物品有都有c[i]件,问在V为容量的包里的最大价值量是什么,这就是一个多重背包问题。 多重背包(MultiplePack): 有N种
2014-10-17 20:54:52 522
原创 POJ 3363 Costume Party sort
#include #include #include #define N 20010 using namespace std; int n,m,a[N],s; int main() { while(scanf("%d%d",&n,&s)!=EOF) { for(int i=1;i scanf("%d",&a[i]); sort(a+1,a+n+1);
2014-09-18 00:10:59 557
原创 poj 3661 Running DP
题目大意: N分钟,小刚每分钟可以选择是停下休息还是往前走,如果选择往前走的话可以在第i分钟走Di,当然,小刚的疲劳值也会增加1。如果选择休息则小刚的疲劳值会每分钟减小1,当小刚停下来以后,小刚只能在疲劳值降到0时才能继续再走。已知小刚的疲劳值最多不能超过M,当小刚度过N分钟后要保证他的疲劳值为0,问小刚最多能走多长的距离。
2014-09-17 23:47:48 515
原创 POJ 1179 Polygon 矩阵链乘 记忆化搜索
题目大意: 多边形游戏,有N个顶点的多边形,3 ,多边形有N条边,每个顶点中有一个数字(可正可负),每条边上或者是“+”号,或者是“*”号。边从1到N编号,首先选择一条边移去,然后进行如下操作: 1 选择一条边E和边E连接着的两个顶点V1,V2。 2 用一个新的顶点代替边E和V1、V2,新顶点的值为V1、V2中的值进行边上代表的操作得来(相加或相乘) 当最后只剩一个顶点,没有边时,游戏结束
2014-09-17 23:15:51 510
原创 POJ 1321 棋盘分割 DFS
#include #include #include #include #include #define MAXN 110 #define N 21 using namespace std; int dx[4]={0,-1,0,1}; int dy[4]={-1,0,1,0}; int dl[4][2]={{0,-1},{-1,0},{0,1},{1,0}}; int dr[4][2]={{0,
2014-08-28 20:33:35 441
原创 POJ 3083 Children of the Candy Corn
如下代码: #include #include #include #include #include #define MAXN 110 #define N 21 int dx[4]={0,-1,0,1}; int dy[4]={-1,0,1,0}; int dl[4][2]={{0,-1},{-1,0},{0,1},{1,0}}; int dr[4][2]={{0,1},{-1,0,},{0,
2014-08-28 20:21:12 369
原创 POJ 3009 Curling 2.0 DFS
题目要求:是要求把一个冰壶从起点“2”用最少的步数移动到终点“3” 其中0为移动区域,1为石头区域,冰壶一旦想着某个方向运动就不会停止,也不会改变方向(想想冰壶在冰上滑动),除非冰壶撞到石头1 或者 到达终点 3 注意的是: 冰壶撞到石头后,冰壶会停在石头前面,此时(静止状态)才允许改变冰壶的运动方向,而该块石头会破裂,石头所在的区域由1变为0. 也就是说,冰壶撞到石头
2014-08-28 19:44:43 463
原创 Codeforces #263 Div2 B
题目大意“给定一段大写字母序列。 从n张牌中挑k张,每一张会+选出的牌中与它字母相同牌的数量一样的分数,问最大总分
2014-08-27 10:33:47 562
原创 POJ 1833 求下第K个字典序
排列 Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 16483 Accepted: 6607 Description 题目描述: 大家知道,给出正整数n,则1到n这n个数可以构成n!种排列,把这些排列按照从小到大的顺序(字典顺序)列出,如n=3时,列出1
2014-08-26 11:35:25 982
原创 POJ 1004 Financial Management
不解释 #include #include #include using namespace std; int main() { int cnt=0; double x,ans=0; for(int i=1;i<=12;i++) { scanf("%lf",&x); ans+=x; cnt++; } printf("$%.2f\n",ans/12.0); //whi
2014-08-26 11:12:32 541
原创 HDU 1285 确定比赛名次 Topsort
题目大意:称职的裁判员忘记了比赛的名次,但还记得谁战胜了谁,给定M组条件,例如A->B 表示A战胜了B,保证信息之间不相互排斥,求输出比赛的名次。 题目分析:是明显的拓扑排序: 在此再介绍一下topsort,核心思想是通过给定的有向无环图确定每个点的入度,比如map[i][j]即表示i战胜了j,此时j的入度+1。但如果存在K点的入度为零,则表示没有人战胜了它,那么他即使排名第一的,然后删除该节
2014-08-22 21:38:15 875
原创 HDU 1249 三角形 数论
直接代码: //hdu 1249 三角形(规律题) /* 一个三角形两个面 两个三角形八个面 递推公式:f(n)=f(n-1)+6*(n-1); 直接公式:f(n)=3*n*(n-1)+2; */ #include #include #include #include using namespace std; int main() { long long n; int T; cin>>T
2014-08-22 17:33:30 629
原创 POJ 1050 最大矩阵子段和
题目大意:求出给定矩阵中最大的数字和。 http://blog.csdn.net/piaoyi0208/article/details/7728972 写的很好,带有分析,不懂我代码的可以看一下。 如下代码: #include #include #include #include using namespace std; int a[120][120],n,temp[110],maxx;
2014-08-22 17:17:18 476
原创 POJ 1862 Stripies priority_queue 单调队列
题目大意:给出N个数m1,m2,m3...任意两个相撞会形成一个新的m,m=2*sqrt(mi*mj),求剩下的最小的m 题目分析:我们可以联想到贪心,每次都ling
2014-08-19 22:03:48 396
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人