自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 DFS+DP验证 UScow 5.3.1 Milk Measuring 量取牛奶

UScow 5.3.1 Milk Measuring 量取牛奶nkoj 1860Description农夫约翰要量取 Q(1 农夫约翰总是很节约。他现在在奶牛五金商店购买一些桶,用来从他的巨大的牛奶池中量出 Q 夸脱的牛奶。每个桶的价格一样。你的任务是计算出一个农夫约翰可以购买的最少的桶的集合,使得能够刚好用这些桶量出 Q 夸脱的牛奶。另外,由于农夫约翰必须把这些桶搬回家,对于

2016-02-21 19:32:59 702

原创 背包的第k优解问题

nkoj 2347DescriptionLynn 和banana要去爬山啦!他们一共有 K 个人(banana的人数可以看作很多),每个人都会背一个包。这些包的容量是相同的,都是 V。可以装进背包里的一共有 N 种物品,每种物品都有给定的体积和价值。在 lynn看来,合理的背包安排方案是这样的: (1)每个人背包里装的物品的总体积恰等于包的容量。 (2)每个包里的每种物品最多只有一

2016-02-20 21:30:09 785

原创 位运算状态压缩——飞行员兄弟的冰箱

nkoj 2223Description有一个叫“飞行员兄弟的冰箱”的著名智力游戏,在游戏中玩家需要打开一个冰箱。 在冰箱的门上有16个门把手,每个门把手只有两种状态:打开和关闭。当所有门把手都处于打开状态时,冰箱才会被打开。 16个门把手构成了一个4x4的矩阵,当你改变坐标为(x,y)的门把手的状态时,跟它同处于x行和跟它同处于y列的门把手们的状态都同时会被改变(开的变为关,

2016-02-19 17:07:21 1240

原创 NOIP 2009 靶形数独

可以用跳舞链,但由于我不会,就只有秀一秀深搜技术了。数据结构:map[i][j]存的是填的数字;row[x][i]表示x行i个数是否出现过;file[x][i]表示x列i个数是否出现过;f[x][y]返回x,y属于哪一个九宫格区域;area[x][i] 表示第x个九宫格区域中i是否出现过。vis[x]记录深搜的顺序;score数组当然是得分表了。代码如下:#

2016-02-17 14:20:08 333

原创 寒假欢乐赛

状态不好a...第一题 NOIP 2000 单词接龙Description单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次)。只要有重合的内容,两个单词就能够连接起来。在两个单相连接时,其重合部分合为一部分,例如 beastst和ststonish,如果接成一条龙则变为

2016-02-16 14:33:29 428

原创 动态规划——切蛋糕

nkoj 2305 改编自ZOJ3537Description有一个凸多边形蛋糕,你现在要用刀把它切成若干块三角形的小蛋糕。每一刀你只能沿着当前凸多边形的某条对角线切。我们可以把蛋糕看成是笛卡尔坐标系中的n个坐标点连接而成的图形,每次切割都会消耗一定的体力,切割第i和第j号点构成的对角线所消耗的体力为cost(i,j)=|xi+xj|*|yi+yj| mod t,t为题目给出的体力常数。 

2016-02-14 14:13:41 1723

原创 动态规划——小胖办证

nkoj 1016Descriptionxuzhenyi要办个签证。办证处是一座M层的大楼,11. 这个签证员在1楼 2. xuzhenyi的签证已经给这个签证员的正楼下(房间号相同)的签证员盖过章了。 3. xuzhenyi的签证已经给这个签证员的相邻房间(房间号相差1,楼层相同)的签证员盖过章了。 每个签证员盖章都要收取一定费用,总费用不超过1000000000。找出费

2016-02-13 11:04:54 1520

原创 动态规划——DNA

nkoi 1364Description给出1个只有A、B组成的长度为N的字符串,现在给出两种变换方式:第一种是翻转一个字母,A变成B,或B变成A;第二种是翻转字符串某个字符的前缀(包括该字符),将前缀中所有的A变成B,或者所有的B变成A。 现在要把给出的字符串变成全A,问至少需要多少次变换操作。分析:要么将所有的变成A,或者把所有的变成B再加一次翻转。一道动归水题,就

2016-02-13 11:03:23 982

原创 动归——修补牛棚 USACO1.3.2

一道水水的动归,直接放代码了:#include#include#includeusing namespace std;const int inf=2e9;int s[205],f[55][205];//f[i][j]表示用i块修复前j个牛棚最短的长度 int main(){ int n,m,p,i,j,k; scanf("%d%d%d",&m,&p,&n); for(i=

2016-02-06 21:42:52 571

原创 离散化——USACO 岛屿

nkoj 1279Description每当下雨时,FJ的牧场都会进水。由于牧场地面高低不平,被水淹没的地方不是很统一,形成一些岛屿。 FJ的牧场可描述成一个一维的地形图,由N(1 (1 。假定这个地形图的两端有两条无限高的墙围着。 当雨一直下时,地形图上最低的区域先被水淹没,形成一些不相邻的岛屿。一旦水面高度到达一个区域的高度,则认为这个区域被淹没。  左图,

2016-02-06 21:01:16 687

原创 动归——跳房子游戏

nkoj 1890f[i][1]表示用奇数步到i号格子可以得到的最高分,f[i][2]表示用偶数步到i号格子可以得到的最高分代码如下:#include#includeusing namespace std;const int inf=100000000;int s[150005],f[150005][3],max_odd,max_even;//max_odd和max_even

2016-02-05 15:02:39 656

原创 动归——括号匹配

nkoj 1507水水的动归题一道。。。#include#include#includeusing namespace std;const int inf=2e9;char str[305];int s[305],f[305][305];//f[i][j]表示将i到j变成合法串需要添加几个括号 int main(){ int i,n,j; scanf("%s",str+

2016-02-04 17:07:36 464

原创 图论——昂贵的聘礼

nkoj 2226一道很好的图论dijstra算法应用题。#include#include#include#includeusing namespace std;const int inf=2e9;queueq;int m,n,pos[105],dist[105],map[105][105];bool vis[105];void input(){ int i,j,x,y,t

2016-02-04 16:58:41 438

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除