此段略过。看完题目,觉得这真的是一道好题目。自己有想法,但是实现起来却很难。看题解,写代码,然后写题解,意义何在?我不认为自己总是这么弱。就算抄代码,我也要有自己的理解。菜鸟总会成长。 首先,题目必须读懂。起点是1,终点是n,并且一定有解。对于一个点(城市),如果它有魔法保护,必须解除对它的所...
分类:
其他好文 时间:
2014-09-04 01:37:18
阅读次数:
229
题意:找最短的木棍能够组成的长度,
hdoj 1518 的加强版
代码:
#include
#include
#include
using std::sort;
#define M 70
int s[M], vis[M];
int n, ans;
int cmp(int a, int b)
{
return a > b;
}
int dfs(int cou, int cur, ...
分类:
其他好文 时间:
2014-08-27 09:28:37
阅读次数:
158
题意:在一条直线上有n个点,取一长度差为x的区间, 规定点必须是区间的端点, 让你找出来最大的x
策略:rt
分析可得:两个相邻点之间的区间要么是两个点的差,要么就是两个点的差的一半,那我们就简单枚举一下就好了
排好序之后再枚举...
分类:
其他好文 时间:
2014-08-27 08:12:04
阅读次数:
209
题意:求最多购买的件数以及有几种方法。
一看到这题就想到了背包,因为求得是种类数,所以我们可以将件数看做价值,将价格看做重量,这就变成01背包了(dp),但是还要求有几种购买方案,那么再来一个背包(kind)。
分析:有三种情况:
1》dp[j] < dp[j-s[i]]+1
那么对于这一种情况 方案背包的状态转移方程是kind[j] = kind[j-s[i]]?kind[j-s[i]]:1;(考虑到kind[j-s[i]] ==0的时候,这时候kind[j] = 1);
证明:为什么是kind[j] ...
分类:
其他好文 时间:
2014-08-25 22:57:55
阅读次数:
255
题意:有一个蛋糕,将所有的蜡烛摆成一个以中心为同心轴的同心圆(中心可以放一个或者一个也不放,由近到远编号(1~r)每一个圆上分别放k^i(i是第几个的序号, k》=2)), 给你总的蜡烛数,让你求出k*r最小的,如果k*r相等,取r较小的。
分析:由等比数列可得k^0+k^1+。。。+k^r = (1-k^(r+1))/(1-k) 小于等于10e12,k最小是2,算出来r《40,那么我们可以枚举...
分类:
其他好文 时间:
2014-08-25 21:09:51
阅读次数:
221
一道考虑了非常多可能情况的并查集,希望与大家分享一下,共同解决这道难题!...
分类:
其他好文 时间:
2014-08-25 19:21:34
阅读次数:
140
贪心+数学调整,这里需要比较好的数学想法。当然自己通过推导选出各种情况也是可以的,不过可能稍微麻烦些!不过,这道题目不失为一道好题!...
分类:
其他好文 时间:
2014-08-25 17:03:54
阅读次数:
120
sgu 106: 这道题首先让我们解一个线性方程式ax+by=-c,用拓展欧几里得就可以搞定。但是它要求我们需要输出满足x1,而cmath里有名字叫y1的函数,真蛋疼。不过其实只要把y1从全局拿到main函数内部就好) 1 #include 2 #include 3 #include 4...
分类:
其他好文 时间:
2014-08-24 20:41:23
阅读次数:
250
题意:从S出发到D停止,并且要在指定的时间t走到(不早不晚)。注意,每个‘.’只能走一次。
分析:DFS,但是用普通的dfs,TL, 所以要剪枝。我们可以想到,如果可以早到D点,但是D点周围有其他可以踩的点,并且可以观察到,从一个点(不是D点)到D点的距离(abs(x-dx)+abs(y-dy))是奇数的话,就要走奇数步,偶数的就走偶数步,()...
分类:
其他好文 时间:
2014-08-22 22:33:31
阅读次数:
254
题意:给定一个字符串d,要求用另一字符串s去匹配,其中s中的?可以为任何字符,*可以为任意个字符,求最小的匹配权值思路:这题和CSDN英雄会的“反相互”类似,由于其中某些字符的不确定性,利用动态规划来对每个字符求解。只不过这个题更灵活了一些,但是本质是一样的。考虑s中的第i个元素,当匹配到d中的j元...
分类:
其他好文 时间:
2014-08-22 21:06:09
阅读次数:
236