这题目的思路很巧妙,什么情况下剩下的所有物品都放不下呢?就是当前剩余物品中最小的那个也放不下。所以,先把物品按照容量从小到大排序,依次枚举当前背包为放不下的最小物品的情况。
对于当前物品i,必有1到i-1的所有物品都放进去,这时候比i大的物品谁放谁不放是不确定的。转换成0-1背包问题:把前i-1个物品都放进去以后,得到空间为tsum - sum[i-1](前缀和)的包,只要从第i+1到第n个物品...
分类:
其他好文 时间:
2014-07-08 19:47:17
阅读次数:
187
最小生成树+BFS
题意是说在迷宫之中找出连接所有点的最小生成树,其他杂项完全不理会,我理解题意就花了好久。
我用的Kruskal,输入的时候给每个点标号,然后BFS 每个点,找出最近的所有边,接下来就是模版的Kruskal。
因为是迷宫,所以只能用BFS去搜与它相通的每个点的最短路。
不过数据有点坑,建议数组开大一点,我提交的时候RE一次,绝对不止100个...
分类:
其他好文 时间:
2014-07-08 18:34:52
阅读次数:
240
HDU 4770 Lights Against Dudely
题目链接
题意:给定灯,有一盏灯可以旋转,问最少几个灯可以照亮.的位置,并且不能照到#
思路:暴力求解,先枚举特殊的灯,再枚举正常的灯,要加剪枝,不然会TLE
代码:
#include
#include
#include
using namespace std;
const int INF = 0x...
分类:
其他好文 时间:
2014-07-08 18:23:55
阅读次数:
196
首先算出mp[i][j]:
以i为最高点,i到j的最短距离是多少。
然后对于每次询问,枚举最高点。
结果就为min(mp[i][st]+mp[i][ed]+val[i]);
但是这个题我用SFL优化了一下。。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
...
分类:
其他好文 时间:
2014-07-08 16:59:36
阅读次数:
204
题目链接:hdu 4771 Stealing Harry Potter's Precious
题目大意:在一个N*M的银行里,贼的位置在’@‘,现在给出n个宝物的位置,现在贼要将所有的宝物拿到手,问最短的路径,不需要考虑离开。
解题思路:因为宝物最多才4个,加上贼的位置,枚举两两位置,用bfs求两点距离,如果存在两点间不能到达,那么肯定是不能取完所有的宝物。然后枚举取宝物的顺序,维护a...
分类:
其他好文 时间:
2014-07-08 14:47:59
阅读次数:
172
枚举位移肯定超时,对于一个位移i,我们需要的是它的循环个数,也就是gcd(i,n),gcd(i,n)个数肯定不会很多,因为等价于n的约数的个数。
所以我们枚举n的约数,对于一个约数k,也就是循环个数为n/k这样的个数有phi[k]种,证明网上有很多。所以答案就是 phi[k]*(pow(n,n/k)) (k是n的所有约数)
由于约数会很大所以不能打表,只能单个算。
再由于最后要除以n,如果做...
分类:
其他好文 时间:
2014-07-08 14:05:43
阅读次数:
170
CodeForces 444C. DZY Loves Physics(枚举+水题)...
分类:
其他好文 时间:
2014-07-08 13:41:51
阅读次数:
190
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace C_编辑基础
{
//枚举的意义就是限定变量的取值范围
enum gender{Male,Female,Unkown}; //声明一个类型,它是枚举类型(定义一个枚举),这个枚举有三个值。...
分类:
其他好文 时间:
2014-07-08 13:38:36
阅读次数:
191
题目:给你p个LED组成的相同的显示器n个,每个显示器上显示一个符号(LED的p长度的01串)
问最少使用p位中的几个位,就能区分这n个不同符号,均不相同即可(其他位当做置0处理)
分析:搜索、枚举。从保留1位开始,一直搜索到p为,出现满足题意的解就退出,即可。
枚举采用位运算,提高效率。
说明:寻找相同的时候,先排序,再判断相邻的即可(n l...
分类:
其他好文 时间:
2014-07-08 11:16:05
阅读次数:
214
可选值
使用可选(optionals)来处理值可能缺失的情况。可选表示:
有值,等于 x 或者没有值
注意:
C 和 Objective-C 中并没有可选这个概念。最接近的是 Objective-C 中的一个特性,一个方法要不返回一个对象要不返回nil,nil表示“缺少一个合法的对象”。然而,这只对对象起作用——对于结构体,基本的 C 类型或者枚举类型不起作用。对于这些类型,Objec...
分类:
编程语言 时间:
2014-07-08 10:46:37
阅读次数:
218