摘要:
bzoj1861[Zjoi2006]Book 书架 题意: 维护一个序列,支持移动元素,查询元素是第几个,查询第k个元素编号。 题解: 可以用treap和splay,我写的是splay。移动元素就是先删一个节点在将这个节点插入到对应位置,注意各种分操作(如splay、find)的次序性。反思:本弱又 阅读全文
摘要:
bzoj1106[POI2007]立方体大作战tet 题意: 给定玩家一个有2n个元素的栈,这些元素拥有n个不同的编号,每个编号正好有两个元素。玩家每次可以交换两个相邻的元素。如果在交换之后,两个相邻的元素编号相同,则将他们都从栈中移除,所有在他们上面的元素都会掉落下来并且可以导致连锁反应。求最少的 阅读全文
摘要:
bzoj2056gift? 高精度? 题意: 给出abcdefghi,求2^a+2^b+2^c+2^d+2^e+2^f+2^g+2^h+i。a~h≤60,i≤2^63 题解: 发现只有极限数据才会爆unsigned long long,所以先让i-1,然后把它们累加起来,发现这个数据是极限数据就手算 阅读全文
摘要:
bzoj3410[Usaco2009 Dec]Selfish Grazing 自私的食草者 题意: n个区间,求最多的区间集合使其互不覆盖。n≤50000 题解: 好像是第三次出现这种题了~但是区间范围可达10^9,不能dp了QAQ膜了一发题解发现只要按区间右端点排序然后贪心取即可。 代码: 201 阅读全文
摘要:
bzoj1455罗马游戏 题意: 维护数据结构支持合并和弹出最小值。n≤1000000,m≤100000 题解: 可并堆,注意本题合并时要判断两个节点是否在同一个堆中。本弱写了左偏树和斜堆,发现斜堆比左偏树快,不知道为什么,求神犇解答。 代码: 20160810 阅读全文
摘要:
bzoj3399[Usaco2009 Mar]Sand Castle城堡 题意: 给个序列a,再给个可变换顺序的序列b,求a变为b的最小代价。a增加一个单位代价为x,降低一个单位代价为y。序列大小≤25000 题解: a,b排序,直接统计即可。 代码: 20160810 阅读全文
摘要:
bzoj3390[Usaco2004 Dec]Bad Cowtractors牛的报复 题意: 最大生成树。 题解: 最大生成树。 代码: 1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 #define inc(i,j 阅读全文
摘要:
bzoj1648[Usaco2006 Dec]Cow Picnic 奶牛野餐 题意: K只奶牛分散在N个牧场,问多少地点是所有奶牛都可到达的地方。n≤1000 题解: 倒插边然后对每个点dfs,如果经过的奶牛为k则累计答案。注意可能有多只牛在同个牧场,要用数组记录。 代码: 20160810 阅读全文
摘要:
bzoj3479[Usaco2014 Mar]Watering the Fields 题意: 草坪上有N个水龙头,修剪两个水管费用为欧几里得距离的平方。 修水管的人只愿意修费用大于等于c的水管,问将水龙头联通的最小总费用。N≤2000 题解: 最小生成树。 代码: 1 #include <cstdi 阅读全文
摘要:
bzoj1711[Usaco2007 Open]Dining吃饭 题意: 每头牛都喜欢几种食品和饮料,现在每种食品和饮料都有一个,问最多能使多少头牛同时获得喜欢的食品和饮料。牛数、饮料数、食品数≤500 题解: 最大流,源向所有食品连边,食品向被喜欢的牛连边,牛向喜欢的饮料连边,饮料向汇连边,流量都 阅读全文
摘要:
bzoj1604[Usaco2008 Open]Cow Neighborhoods 奶牛的邻居 题意: n只牛,牛结成群当且仅当两只牛曼哈顿距离≤c或存在第三头牛使两头牛与它的曼哈顿距离都≤c,求最大的群和群数。n≤100000 题解: 好神啊。先把曼哈顿距离转成切比雪夫距离,(x,y)转为(x+y 阅读全文