搜索
文章平均质量分 67
ZephyrGuo
目前就职于阿里云数据库团队
展开
-
Codeforces Round #167 (Div. 2) 272E Dima and Horses
题意: 一群马,分成两组。每组中任意一头马不能有超过1只以上的敌对马和他在同一组。求合法分组。 思路: 一开始想不通怎么判断无解,2-sat貌似也不能判断这种无解情况。后来仔细分析发现,对于任一马的摆放分三种情况: 1.他有一只敌对马。那么他放哪组都行。 2.他有两只敌对马。那么这两只敌对马的摆放有2种可能,(1,1)和(2,0)((0,2)和原创 2013-02-20 15:30:02 · 686 阅读 · 0 评论 -
ZOJ 3681 E - Cup 2
题意: 题意有点难表述,请恕我语文水平不好。有n个人他们分在一组,如果其中支持意大利队的人多于一半,那么这组就是一个合法组,同时我们可以说这n个人都支持意大利队。如果这n个人所在的组是非法组,那么你可以把这组继续拆分。比如拆成m组,如果这m组中多于一半是合法组那么这n个人所在组依然算是合法组。题目的规则就是这样。问:给你M个人其中有N个意大利队球迷,能不能满足条件,使得我们可以说这M个人都是支持意原创 2013-02-17 22:42:36 · 948 阅读 · 0 评论 -
ZOJ 2634 Collecting Stones
题意:给你8*8的矩阵,从(1,1)走到(8,8),每个点只能走一次,且只能走上下右,右上,右下这五个方向。问:是否能使权值和恰为m? 思路:dfs+剪枝,不错的剪枝搜索。 设当前走到(x,y),权值和为sum,g[x][y]表示(x,y)的权值。 1.后缀和剪枝。设第y列到第8列整个子矩阵和为sufSum,剪掉 sum+sufSum 2.dp剪枝。设dp[x][y][d]原创 2013-05-06 21:25:40 · 1046 阅读 · 1 评论 -
ZOJ 3736 Pocket Cube
这是长沙区域赛的一道铜牌题。今天想起来才把它A了。不得不说当时长沙比赛的时候我负责写这题,然后TLE了。。。因为当时搜的是6面,而且杰恩一开始也和我说搜索6面,12^7感觉可以过的样子。然后整场比赛我就在剪枝,剪枝,剪枝。。。。事实上,对称性搜3面就好了。最后虽然我们过了银牌题,但因为这道铜牌题没能拿到银牌,毁了杰恩最后一场区域赛。。。 这题不难,只要打好表,记录3个面周围8个点是谁,转原创 2013-12-22 15:09:05 · 859 阅读 · 0 评论 -
HDU 4803 Poor Warehouse Keeper
题意: 可以给number++,也可以给total prices++。如果给number++,那么total prices+=total prices/number(这里的number是增长之前的)。求最少多少步,使得number=x,total prices=y,total prices只取整数部分。 思路: 知道x的话,就是知道了number会增加几次,每次增加p原创 2014-01-18 12:17:48 · 1077 阅读 · 0 评论