上一页 1 ··· 17 18 19 20 21 22 23 24 25 ··· 39 下一页
  2014年3月6日
摘要: 点我看题目题意 : 就是有n个人,m对关系,每对关系的两个人是好朋友,这个关系是相互的,如果有两个人的共同好朋友超过k个,那这两个人也会是好朋友的,给你m对关系,给你足够长的时间,问你还能增加几对关系。思路 : 暴力,一开始忘了增加了新关系之后要回到第0个点开始找,因为时间足够长。#include #include #include #include #include using namespace std;const int maxn = 110 ;int a[maxn],map[maxn][maxn] ;int main(){ int T,n,m,k ; scanf("%d&qu 阅读全文
posted @ 2014-03-06 20:15 枫、 阅读(244) 评论(0) 推荐(0)
摘要: 点我看题目题意 : 这个题的英文叙述真的是太强了,真不知道哪里来的英文,完全看不懂,看了两个小时没弄懂真正的题意。就是给你一个字符串,先输出长度,但是长度要用二进制表示出来,二进制的低7位左边如果没有1了,就直接将这7位二进制转化成16进制输出,如果左边还有1,就把这个低7位变成8位,最高的那位是1,然后把这个8位二进制转化成16进制输出,然后长度右移7位,重复这个操作。如果长度是1 001 000 001(2) = 577(10) = 241(16),先输出低7位1000 001 的16进制表示形式,但是因为这个低7位左边还有1,所以就输出11 000 001的16进制表示形式c1,然后还剩 阅读全文
posted @ 2014-03-06 20:03 枫、 阅读(586) 评论(3) 推荐(0)
  2014年3月5日
摘要: 点我看题目题意 :中文题。思路 :DP题,因为一开始没想到该怎么找两个两个的,所以一开始没有思路,后来别人给讲了才知道。#include #include #include #include using namespace std ;int dp[2010][1010] ;int a[2014] ;int main(){ int n, k ; while(~scanf("%d %d",&n,&k)) { for(int i = 1 ; i = j * 2) dp[i][j] = min(dp[i-1][j],dp[i-2][j-1]... 阅读全文
posted @ 2014-03-05 17:18 枫、 阅读(197) 评论(0) 推荐(0)
  2014年2月28日
摘要: 点我看题目题意 : 中文题。在直线上接馅饼,能接的最多是多少。思路 :这个题其实以前做过。。。。。你将这个接馅饼看成一个矩阵,也不能说是一个矩阵,反正就是一个行列俱全的形状,然后秒当行,坐标当列,这也就是转化成了数字三角形问题,从下往上找最大路径。下边这个图正好是某位大神的,让我不厚道的截过来了。。。。注意一下边界。第0秒5(这里的数字指的是第N秒可能到达的位置坐标)第1秒4 5 6第2秒3 4 5 6 7第3秒23 4 5 6 7 8第4秒1 2 3 4 5 6 7 8 9第5秒0 1 2 3 4 5 6 7 8 9 10第6秒0 1 2 3 4 5 6 7 8 9 10第7秒....... 阅读全文
posted @ 2014-02-28 21:26 枫、 阅读(249) 评论(0) 推荐(0)
摘要: 点我看题目题意: 将大理石的重量分为六个等级,每个等级所在的数字代表这个等级的大理石的数量,如果是0说明这个重量的大理石没有。将其按重量分成两份,看能否分成。思路 :一开始以为是简单的01背包,结果写出来之后不对,因为以为从头开始往上加就行了,看能不能满足那个标准,后开才反应过来,还可以跳着加呢,让YN美女给我讲了一下,然后不小心手残了一下交了两遍WA之后终于AC了,其实就是用一个数组c来标记状态,c[i]表示 i 这个重量是可以用目前的石头表示出来的。而b数组表示的是这种石头的使用次数,也代表着用了几个了。#include #include #include using namespace 阅读全文
posted @ 2014-02-28 20:25 枫、 阅读(240) 评论(0) 推荐(0)
  2014年2月26日
摘要: 点我看题目题意 : 定义Humble Numbers为因子中除2,3,5,7外没有别的因子了(当然因子1不包括在这里边),然后给你一个数,让你求出第n个Humble Numbers是什么。思路 :这个主要是求Humble Numbers麻烦点,你要一点点的往上乘,因为反正这些数都是只由2 3 5 7相乘而成,你就从头开始往上乘2,3,5,7就行了。。。。其实我一点没看出来这个和DP什么关系。。。。////HDU 1025////#include //#include //#include ////using namespace std;////int dp[505000] ;//int B[5 阅读全文
posted @ 2014-02-26 19:57 枫、 阅读(190) 评论(0) 推荐(0)
摘要: 点我看题目题意 :两条平行线上分别有两种城市的生存,一条线上是贫穷城市,他们每一座城市都刚好只缺乏一种物资,而另一条线上是富有城市,他们每一座城市刚好只富有一种物资,所以要从富有城市出口到贫穷城市,所以要修路,但是不能从富有的修到富有的也不能从贫穷的修到贫穷的,只能从富有的修到贫穷的,但是不允许修交叉路,所以问你最多能修多少条路。题意 :这个题一开始我瞅了好久都没觉得是DP,后来二师兄给讲了一下才恍然大悟。其实就是用到了DP中的那个最长上升子序列,把题中贫穷城市的坐标当成数组的下标,跟其相连的富有城市的坐标当作数组的值,这样的话,因为不能有交叉,所以只能一直往右,这就好比找最长上升子序列,因为 阅读全文
posted @ 2014-02-26 16:38 枫、 阅读(214) 评论(0) 推荐(0)
摘要: 点我看题目题意 : 就是让你从一个数列中找连续的数字要求他们的和最大。思路 : 往前加然后再判断一下就行。#include #includeusing namespace std;int main(){ int n,start,end; cin>>n; int m ; for(int k = 1 ; k >m; int max = -1001,sum = 0,flag = 1; for(int i = 0 ; i >ch ; sum += ch; if(sum > max) {... 阅读全文
posted @ 2014-02-26 13:38 枫、 阅读(177) 评论(0) 推荐(0)
  2014年2月25日
摘要: 点我看题目题意 : 给你一个非递减数列,然后给你一个范围x到y,让你找出从x位置到y位置上,某个数字出现次数最多的那个数字的次数。。。。。思路 :其实我一开始没觉得用RMQ简单,而且我也没想到怎么用RMQ。。。。。听会神讲了才会了。就是找一个数组保存从前边到这个数为止这个数出现的次数,然后再用RMQ,最后判断的时候要把这个范围一上来的那个数字先给去掉,因为你不知道他前边还有没有,所以容易多算上,最后再判断这区间跟后边那些谁多就OK了。#include #include #include #include const int maxn = 101000 ;int a[maxn],data[max 阅读全文
posted @ 2014-02-25 19:22 枫、 阅读(171) 评论(0) 推荐(0)
摘要: 点我看题目题意 :N头奶牛,Q次询问,然后给你每一头奶牛的身高,每一次询问都给你两个数,x y,代表着从x位置上的奶牛到y位置上的奶牛身高最高的和最矮的相差多少。思路 : 刚好符合RMQ的那个求区间最大最小值,所以用RMQ还是很方便的。就是一个RMQ的模板题,基本上书上网上都有。RMQ基础知识RMQ... 阅读全文
posted @ 2014-02-25 16:28 枫、 阅读(187) 评论(0) 推荐(0)
上一页 1 ··· 17 18 19 20 21 22 23 24 25 ··· 39 下一页