上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 25 下一页
摘要: Employment PlanningTime Limit:2000MSMemory Limit:65536KB64bit IO Format:%lld & %lluSubmitStatusPracticeZOJ 1454DescriptionA project manager wants to determine the number of the workers needed in every month. He does know the minimal number of the workers needed in each month. When he hires or fi 阅读全文
posted @ 2013-09-27 19:46 KRisen 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 学了一下最长公共子串,它是属于dp里面的 dp=max{(i,j-1),(i-1,j),(i-1,j-1)+d}问题,不得不说,规划方向确实厉害,当然这只适用于两个字符串匹配的问题,n个字符串的话,我查了一下,要用后缀数组,这个以后再来弄吧。比较难的是记录公共字串,在DP的时候记录好搜索的方向,就可以询步骤得到公共串。尤其1503这题呢,除了把公共部分打印出来,还要把非公共部分打印出来。#include #include #include using namespace std;char a[105] , b[105];int dp[105][105];int rec[105][105];in 阅读全文
posted @ 2013-09-25 16:05 KRisen 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 话说DP=记忆化搜索这句话真不是虚的。面对这道题目,题意很简单,但是DP的时候,方向分为四个,这个时候用递推就好难写了,你很难得到当前状态的前一个真实状态,这个时候记忆化搜索就派上用场啦!通过对四个方向进行搜索,即可得到当前状态的最优解。#include #include using namespace std;int date[105][105];int dp[105][105];int dir[][2]= {{0,1},{0,-1},{1,0},{-1,0}};int r,c;int dpac(int i,int j){ if (dp[i][j]>1) return dp[i][j] 阅读全文
posted @ 2013-09-23 20:29 KRisen 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 给出一系列的1x2的矩阵,要你求出矩阵以什么样的次序相乘才使得相乘次数最少,。(不用排序,只要决定该矩阵是和前面相乘比较好,还是后面)。今天仔细想了一下,跟之前做的DP题目做了下对比,你比如说猴子堆砖块拿香蕉那题,那种是通过设定局部量j,求得1到j的局部最优解,再递增j,直到求得全局最优解这种题目,由于两两之间不同的顺序就能产生不同解,所以,是通过设定局部量j,求得相隔为j的两矩阵相乘的最优解,再递增j,直到全局。一开始我的思路就局限在第一种,所以怎么想也没理清怎么写。还有,这个题目输出比较麻烦,在DP过程中,用一个二维数组记录求得i到j之间最优解的时候,是哪个矩阵在前面。通过递归的方式输出, 阅读全文
posted @ 2013-09-14 17:49 KRisen 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 最近觉得动态规划真的很练脑子,对建模以及思维方法有很大帮助,线段树被卡到有点起不来的感觉最近仔细思考了一下动态规划的思想,无非是由局部最优解得到全局最优解,由此类推,发现,像最短路和最小生成树其实都是动态规划的思想在里面。这题Chopstick,在建立状态 和 怎样递推 是两个难点。在建立状态方面,通过dp[i][j],n-i+1为可选的筷子数,j为已选筷子组数,所以最终要求的结果自然是 dp[1][k].递推方面,要注意两个细节,第一,每一组的那两根短筷子,必定是相邻的,可以反证法证明。第二,那根长筷子,如果采取逆推方式,就可以不用管了,因为逆推只要保证前面有长筷子即可。。。for(i=.. 阅读全文
posted @ 2013-09-09 11:37 KRisen 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 校队选拔神马的事情就不说了,哥们反正是要崛起的人了!感谢何骐的提醒。校队选拔的时候又被二分给坑了,所以还想做几道二分搜索的题目来练练手。C -Three Base StationsTime Limit:2000MSMemory Limit:262144KB64bit IO Format:%I64d & %I64uSubmitStatusPracticeCodeForces 51CDescriptionThe New Vasjuki village is stretched along the motorway and that's why every house on it i 阅读全文
posted @ 2013-09-06 12:30 KRisen 阅读(329) 评论(0) 推荐(0) 编辑
摘要: 1012: City TourTime Limit:1 SecMemory Limit:128 MBSubmit:63Solved:11[Submit][Status][Web Board]DescriptionAlice想要从城市A出发到城市B,由于Alice最近比较穷(不像集训队陈兴老师是个rich second),所以只能选择做火车从A到B。不过Alice很讨厌坐火车,火车上人比较多,比较拥挤,所以Alice有很严格的要求:火车的相邻两站间的最大距离尽可能的短,这样Alice就可以在停站的时候下车休息一下。当然Alice希望整个旅途比较短。Input有多组测试数据。每组测试数据的第一行有 阅读全文
posted @ 2013-08-22 16:53 KRisen 阅读(442) 评论(0) 推荐(0) 编辑
摘要: 第一次涉及HASH查找的知识对于字符串的查找有很多前人开发出来的HASH函数,比较常用的好像是ELF 和 BKDR。这道题没想到突破点是在于其nc值,告诉你组成字符串的字母种类。还有用26进制,不管怎么说,只要避免产生冲突,怎么哈希都行。用的是BKDRHash法。#include #include #include #define maxn 20000000#define mm 1000000using namespace std;int hash[maxn]={0};char str[mm];int news[mm]={0};int ans;int n,nc;int BKDRHash(cha 阅读全文
posted @ 2013-08-21 15:07 KRisen 阅读(255) 评论(0) 推荐(0) 编辑
摘要: DescriptionThe cows are journeying north to Thunder Bay in Canada to gain cultural enrichment and enjoy a vacation on the sunny shores of Lake Superior. Bessie, ever the competent travel agent, has named the Bullmoose Hotel on famed Cumberland Street as their vacation residence. This immense hotel h 阅读全文
posted @ 2013-08-20 10:41 KRisen 阅读(235) 评论(1) 推荐(1) 编辑
摘要: 借用了下东北师大ACM的反素数模版。本来我是在刷线段树的,有一题碰到了反素数,所以学了一下。。有反素数的存在,使得一个x ,使得x的约数个数,在1 到 x的所有数里面,是最大的。这里面还涉及安叔那天讲的求一个数的约数个数,用其素数因子的指数相乘即可。这是东北师大的模版:View Code typedef __int64 INT; INT bestNum; //约数最多的数 INT bestSum; //约数最多的数的约数个数 const int M=1000; //反素数的个数 INT n=500000;//求n以内的所有的反素数 INT rprim[M][2]; //2*3*5*... 阅读全文
posted @ 2013-08-16 10:56 KRisen 阅读(248) 评论(0) 推荐(0) 编辑
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 25 下一页