- 博客(19)
- 资源 (1)
- 收藏
- 关注
原创 CodeForces Round #140(226B) - Naughty Stone Piles
这种范围的数据..贪心噜..关键是要逆转思维..从后往前想... 如果没有k的限制条件..显然用最大石头数的堆不动..其他的堆往上加..那么答案是总石头数-最大堆的石头数.. 加上k的限制条件.一个石头堆直接移动到最大石头堆中..是1次移动..若其先与其他石头堆合并一次..在同那堆石头一起加到最大石头堆中..实际相当于移动了两次...若其先先合并了k次.. 再加到最大石头堆中.
2012-09-27 19:45:36 1208
原创 The 37th ACM/ICPC Asia Regional HangZhou Site Online Contest - F
本题通过率相当低....原因是绝大多数队都是直接贪心吧...找出A最小且B不为0的怪作为入口..可以将所有的B不为0的怪连起来...而中间的间隔可以把 B为0的怪干掉....最后再一一消灭 B 为0的怪...但这种思路是不全面的...如下列数据: 6 20 10 2 10 2 100 0 100 0 100 0 100
2012-09-23 17:10:31 2886 6
原创 The 37th ACM/ICPC Asia Regional JinHua Site Online Contest - D,F
D - A very hard Aoshu problem 数据范围很小呃... 暴力搜索即可...枚举等号的位置...再DFS得出左边的值..再DFS找右边有多少种方案可以等于左边的加法值...Program:#include#include#include#include#include#include#include#include#define
2012-09-22 19:32:18 2819
原创 Ural 1223 & POJ 3783 鹰蛋问题
昨晚队内练习赛做了Greater New York Regional 2009套题...水一套..不过还有有道很经典的问题...鹰蛋问题...IOI2004年的一论文就对这个问题有过深入探讨...比赛的时候我只想到了个大概... 我的思路和论文中的方法二差不多...状态的表示dp[k][p]代表在确定层数为k时用p个球所需确定鹰蛋承受能力的最小次数...也就是输入输出的东西了...我觉
2012-09-20 16:21:09 3042
原创 The 37th ACM/ICPC Asia Regional ChengDu Site Online Contest - F Groups
成都这场状态不对...没有做进现场..不过还好天津能去了...期待这周末浙江两连发给力... 本题是一个DP问题...状态的表示: 把所有人看成一个直线...其中有些人可能被括在一起...dp[ k ] 代表到达第 k 个人时最多诚实人数... 做个预处理...将A,B相同的人合并为一个Group...我是用的并查集...这里要注意一点...这个集合的人数不能超过n-
2012-09-17 20:59:25 1249
原创 The 37th ACM/ICPC Asia Regional ChengDu Site Online Contest - B Control
赤裸裸的最小割...Program:#include#include#include#include#include#include#define oo 1000000000#define ll long longusing namespace std;struct node{ int x,y,c,next;}line[100005];in
2012-09-16 19:03:50 1493
原创 POJ 1300 - 阅读理解+恶心输入+欧拉回路
题意不太好理解....大致上: 是从某个指定的房间出发...问能否回到0房间...并且关掉图中所有的门..而门是关上后无法打开的... 输入比较奇葩..我是gets读入一行后再处理的... 再抽象一些...把门开作边..那么相当于找一条路径..使得便利所有的边..且每个边只遍历一次...这里分为两种情况..一种是从0出发..走完所有的边回到0...这是典型的欧拉回路...另
2012-09-14 22:10:02 2490
原创 POJ 3928 - 树状数组
2008年北京的现场赛的题出5了道~~对比下当时的排名..尽然到12名了..至少拿银..囧...或许是这几年ICPC发展太迅猛了吧.... 这题如果最暴力的..就是枚举中间的 j ..看左边有多少比 data[j] 小的...右边有多少比 data[j] 大的...相乘加到答案中..再看左边有多少比 data[j] 大的...右边有多少比 data[j] 大的..相乘加到答案中...
2012-09-14 18:38:51 831
原创 POJ 3923 - 模拟,要细心
上的一题...模拟水过...不过一定要留意特殊情况..WA了两次...囧....discuss里有给出 ...考虑问题要全面...Program:#include#include#include#include#include#include#include#include#define ll long long#define oo 1000000000#def
2012-09-14 17:40:53 1063
原创 POJ 3921 - DFSID
同样是上的一题...本题的解法听说有网络流...构了一下没构出来..而且听说构图跑最大流的解法并不完备...存在Bug...所以还是搜了...DFSID神马的还是超级给力啊...907MS压线水过... 开始的时候各种超时...一个很重要的原因就是提供的点为50..但边有4000条...显然所需的信息里两个点有一条边和两个点有 N条边是一回事...将冗余的边通通剔除...所以我干脆就用
2012-09-13 22:29:10 1399
原创 POJ 3925 - 状态DP.位运算
研读北大的发现这题的...书上介绍的是DFS枚举点..然后最小生成树来找答案...正好前不久做过一些状态 DP的问题..就用状态DP水过了... 对于一类点个数为n=15左右的问题...应该敏感的联想到状态DP...用n位2进制数可以在较好的所有点的状态...此题正是如此...用x ( 0 这里用到了两个位运算.. 一个是判断十进制整数x在二进制下的第k位是否为
2012-09-12 18:41:36 843
原创 The 37th ACM/ICPC Asia Regional Tianjin Site Online Contest - G Travel
这道题比赛的时候我做了2个多钟头..最后还是没过..各种都觉得和谐...刚才才发现是因为一个分号..在输入里的一个if语句后加了分号..使得这个判断失效了..囧暴了...去掉分号..果断AC... 首先当然是Floyd了..得到两两间的最短距离...方法一: 也就是我比赛的时候这么写的...用DP来解旅行商问题...15个城市可以用15位二进制数表示.最大32767...用dp[
2012-09-10 21:00:18 1893 1
原创 The 37th ACM/ICPC Asia Regional Tianjin Site Online Contest - A.B.J
A 手动打表做出映射关系...然后八进制转十进制..Program:#include#include#include#include#include#include#include#include#define ll long long#define oo 1000000000#define pi acos(-1)using namespace st
2012-09-09 19:13:35 5276 3
原创 The 37th ACM/ICPC Asia Regional ChangChun Site Online Contest - K USACO ORZ
本题暴力+小剪枝枚举3^15种情况 ( 15个长度分别加到3条中的哪个 ) ... 关键是如何判断相同的三角形...我是对每个三角形构造唯一值..再用set容器判断是否出现...Program:#include#include#include#include#include#include#include#include#include#define ll l
2012-09-08 20:11:35 3017 9
原创 Fukuoka 2011 F - City Merger <路径压缩,位运算,AC自动机>
本题求用最短的长度字符串包含所给子串...由于存在多串匹配的问题...容易联想到AC自动机... 以前做过的一道类似的题 http://blog.csdn.net/kk303/article/details/7438478 最多14个city..用14位的二进制数表示已经在串中否...对多串构造Trie树..进一步构造好AC自动机...可以用dp [ k ] [ i ]
2012-09-04 16:10:33 1648 2
原创 IDIOPEN 2011 B - Sheep Frenzy
先用BFS打出所有sheep----' # ' + ' D ' 的邻接矩阵.....arc[ i ] [ j ] 代表 i 到 j 的最短距离...我这里将 D 放在了 0 点... 那么问题就转化为了有一个无向图 ...从确定的点出发( 0 ) 找一条路径...能遍历到其他所有点.并且在此前提下总长度最短... 这个模型就是很经典的旅行商问题----哈密顿回路
2012-09-02 16:27:54 1402
原创 IDIOPEN 2011 G - Sleeping at Work
首先是题目描述看得不太懂~~~题意不大好理解~~也就是说有N个分钟..要睡M个分钟..连续的睡的话..1*a[i]+2*a[i+1]..+(k+1)*a[i+k]...但连续的不能超过r....问最大的value... 显然的dp..我所构造的状态是三维的 ... dp [ i ] [ k ] [ 0 or 1 ]... i 代表当前在第几分钟...k 代表当前睡了多少分钟...0 o
2012-09-02 15:04:39 1020
原创 GCPC 2011 - A Faculty Dividing Powers
题意是说给出n , k 求出最大的 i 使得 n! % k^i == 0 ... 假设最简单的情况...k是质数...要求 n! = 1*2*3...*n ...易看出在k的倍数里..有1个k..在k的平方的有2个k..在k的立方中有3个k... 那么 n! 中k的个数为 n/k+n/(k^2)+n/(n^3)....及为最大的 i ... 拓展一步..若k非质数..但
2012-09-01 15:08:37 1037
原创 CodeForces Round #136(220B) - Little Elephant and Array
本题的关键之处在于发现10^5中~~最多小于450个符合要求的x.这种情况是1+2+3+4+....+n 那么查询就非常快了..因为已经做好了这450个数在1~i ( 1 Program:#include#include#include#include#include#include#include#include#define ll long long
2012-09-01 09:52:32 1860 3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人