上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 39 下一页
  2014年4月14日
摘要: 点我看题目题意 :给你ABCDEFGHIJK 11个块,块上的图案如图所示,然后给你输入,将这些方块按照输入摆好,问你有几个联通块。思路 :这个其实是个最简单的并查集,但是因为给的形式不好处理所以看不太出来,只要把那些图案处理好了就OK了。会神告诉我上下左右标记一下就行,像A可以标记为1,0,1,0... 阅读全文
posted @ 2014-04-14 15:48 枫、 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 题目链接题意 :与1009一样,不过这个题的数据范围变大。思路:因为数据范围变大,所以要用大数模拟,用java也行,大数模拟也没什么不过变成二维再做就行了呗。当然也可以先把所有的都进行打表,不过要用三维了就 。 1 //URAL 1012 2 #include 3 #include 4 #inc... 阅读全文
posted @ 2014-04-14 14:49 枫、 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 题目链接题意 : 给你1到n这n个数,排成一排,然后1放在左边最开始,剩下的数进行排列,要求排列出来的数列必须满足任何两个相邻的数之间的差不能超过2,问你有多少种排列思路 : 对于dp[n],n个人时求F[n]。第2个位置放2时有F[n-1]种;第2个位置放3,第3个位置放2,第4个位置只能放4,有... 阅读全文
posted @ 2014-04-14 11:11 枫、 阅读(199) 评论(0) 推荐(0) 编辑
  2014年4月13日
摘要: 题目链接题意 : 就是猜数游戏,根据给定的操作,让你输出一个符合条件的。思路 : 这个题好玩儿,设置两个变量,一个找符合条件的数的上限,一个找下限,再判断一下。 1 #include 2 #include 3 #include 4 5 using namespace std ; 6 7 c... 阅读全文
posted @ 2014-04-13 21:09 枫、 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 题目链接题意 : 一共52张牌(A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K)花色分别是C,D,H,S 。。。给助理5张牌,然后助理需要重新排一下次序,把第一张牌给观众,然后让魔术师根据一个规律对剩下的有一定次序的牌,能够猜出观众手里的牌是哪张。规律是:记下剩下的四张... 阅读全文
posted @ 2014-04-13 17:53 枫、 阅读(371) 评论(0) 推荐(0) 编辑
  2014年4月12日
摘要: 点我看题目题意 : 按我自己的理解就是,给你n个数,按照从上到下排列,现在让你进行一系列的操作,让你将数按照从大到小排好。思路 : 比赛的时候以为要用记录路径的搜索,当时没什么把握,所以没做,今天网上一搜,我觉得这位神说的很对啊(链接),最简单的就是你从最大的开始换啊。 1 #include 2 #include 3 #include 4 #include 5 6 using namespace std ; 7 8 int a[35],b[35] ; 9 10 int main()11 {12 int n ;13 int c[90] ;14 while(~s... 阅读全文
posted @ 2014-04-12 20:27 枫、 阅读(329) 评论(0) 推荐(0) 编辑
  2014年4月11日
摘要: 题目链接题意 : 给你两个数N和M,让你从1到M中找N个数组成一个序列,这个序列需要满足的条件是后一个数要大于前一个数的两倍,问这样的序列有多少,输出。思路 : dp[i][j]代表着长度为 i 的序列,最后一位是 j ,所以初始化的时候dp[1][ i ] = 1 ;dp[i][j] = sum(dp[i][k])(k 2 #include 3 #include 4 5 using namespace std ; 6 7 __int64 dp[11][2001]; 8 9 void chart()10 {11 memset(dp,0,sizeof(dp));12 ... 阅读全文
posted @ 2014-04-11 21:29 枫、 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 点我看题目题意 : 中文题不详述。思路 : 本来以为只是个小模拟,没想到是个区间DP,还是对DP不了解。DP[i][j]代表着从字符串 i 位置到 j 位置需要的最小括号匹配。所以初始化的DP[i][i] = 1 ;第i个位置的话需要匹配的最小括号数是1。状态转移方程 :如果第i个位置和第j个位置的两个括号是匹配的,那么DP[i][j] = DP[i+1][j-1],相当于两边分别往里缩了一个;当i 2 #include 3 #include 4 5 using namespace std ; 6 7 int dp[210][210] ; 8 char ch[123] ; 9 10 ... 阅读全文
posted @ 2014-04-11 21:01 枫、 阅读(210) 评论(0) 推荐(0) 编辑
  2014年4月8日
摘要: 题目链接题意 : 让你找出1到10^9中和为s的数有多少个。思路 : 自己没想出来,看的题解,学长的题解报告题解报告//URAL 1353#include #include #include using namespace std;int dp[11][83] ;int main(){ int s ; memset(dp,0,sizeof(dp)) ; for(int i = 1 ; i = 0 ; k--) if(j >= k) dp[i][j] += dp[i-1][j-k] ; while(~sc... 阅读全文
posted @ 2014-04-08 21:38 枫、 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 题目链接题意 : 中文题不详述。思路 : sum = L*N 段,每走过一段如果不用加速卡的话,能量会增20%,将20%看作1,也就是说每涨到15就要变为10,所以最多是14才不浪费。dp[i][j]代表第 i 段路需要能量是 j 的最少时间。状态转移方程是//不用能量卡的时候 dp[i][j+1] = min(dp[i-1][j]+a[(i-1)%L],dp[i][j+1]) ;//用能量卡的时候,用完了之后能量卡减5 dp[i][j-5] = min(dp[i][j-5],dp[i-1][j]+b[(i-1)%L]) ;//HDU... 阅读全文
posted @ 2014-04-08 20:30 枫、 阅读(248) 评论(0) 推荐(0) 编辑
上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 39 下一页