搬家啦

http://kuribohg.github.io...
阅读(947) 评论(2)

一些简要题解

1、USACO Dec 07 Best Cow Line, Gold 直接贪心,比较两个字符串大小可以用Hash或者后缀数组。 2、USACO Open 08 Cow Neighborhoods 我写了个最小曼哈顿生成树……求出生成森林以后扫一遍就行了。 3、USACO Open 09 tower 贪心的DP,让下面尽量宽,而且可以证明这样肯定能取到最优解。(我不会证,做的时...
阅读(363) 评论(0)

POI 18

1.Tree Rotations 从下至上贪心选择是否交换两棵子树,需要维护两棵子树交换以及不交换的逆序对数。 可以使用平衡树的启发式合并和线段树合并。 2.Lightning Conductor 把式子改写成f[i]=f[j]+w[i,j],注意到w满足四边形不等式(要用double,因为sqrt取整以后不满足四边形不等式),应用决策单调性的优化方式,正反做两遍即可。 3.Temper...
阅读(499) 评论(0)

一份130+题的题目列表

开坑。...
阅读(623) 评论(0)

BZOJ1513 [POI2006]Tet-Tetris 3D 二维线段树

需要区间修改的二维线段树。 使用标记永久化。 我代码是抄的,跟网上别人代码一样。 #include #include #include #include using namespace std; const int MAXN=1030; int D,S,n; int d,s,w,x,y; int ql,qr,qu,qd,ans; struct Seg_X { int p[MAXN<<1...
阅读(697) 评论(0)

BZOJ3230 相似子串

这个题思路应该算是比较简单的…… 先扫一遍height,算出前i个后缀中含有的不同子串个数,然后在这个和中二分,找到一个排名对应的子串。 然后就是最长公共前缀和最长公共后缀……用两个后缀数组即可完成所有操作。 但是我有两个之前写错了的地方: 1、没有开long long 2、注意算LCP的时候,要算RMQ(rank[p]+1,rank[q]),但如果rank[p],rank[q]大小关系...
阅读(711) 评论(0)

2014-2015 HNOI集训

题目基本都不会……写点什么,以后好复习。...
阅读(739) 评论(0)

BZOJ1100 [POI2007]砝码Odw 贪心

这道题挺有趣的,记录一下~ 首先题目有一个条件:砝码间有倍数关系。 倍数关系其实是一种特殊的进制,我们把容器的容量按照这种进制进行拆分,然后把同位权的位相加,但不进位。 这样做的目的是将不同的容器分开来考虑,比如两个容器的容量是2、2,而三个砝码质量分别为1、1、2,那么先放了两个1以后,2是没有地方放的。如果将质量直接相加,就会导致2可以放。直观来看,就是先将每一个容器的零头拿来,放砝码,...
阅读(402) 评论(0)

BZOJ1391 [Ceoi2008]order 最小割

如果没有机器出租,那么我们应该怎么建图呢? 这就是一个裸的最大权闭合子图,而且这个图还是个二分图。 注意看最大权闭合子图中间连的无穷容量的边,这条边限制了u选取的时候,v必须选取。 那么这道题的关系就是“可以选u的时候可以不选v,但是要付出一定的代价”。 那么把这条边的容量改为这个代价即可。 这样为什么是对的呢?我们来看割与实际方案的对应关系: 假设任务在S一侧,机器在T一侧。 如果...
阅读(687) 评论(0)

BZOJ1863 [Zjoi2006]trouble 皇帝的烦恼 二分答案+DP

HINT直接写上了二分…… 这种二分一般都是n个变量m个条件,确定一个答案以后先满足m-1个条件,贪心地看第m个是否满足。 先画一画,如果n是偶数就可以直接出答案了。 但是n是奇数的时候貌似不太好做,把环从n和1之间拆成链,这样有了n-1个条件,二分答案。 那么我们就得让n和1公共的元素最少,这样n才能分到更多的勋章。 画了一下,感觉偶数项应当从前取,奇数项应当从后取……但是不能直接模拟...
阅读(991) 评论(0)

BZOJ2793 [Poi2012]Vouchers 调和级数

首先最暴力的算法肯定是O(n*sqrt(n))对吧……每次从开始枚举没用过的,直接标号即可。 注意到n/1+n/2+...+n/n=O(nlogn)。 这样我们记录一下对于x的倍数,现在已经搜到哪里了。 那么对于每一个x,都不会运算超过n/x次,时间复杂度就是O(nlogn)。 #include #include #include #include #include #include #i...
阅读(523) 评论(0)

一些博弈经典模型的总结

1、Nim游戏 用Nim和直接做。 2、Euclid游戏(POJ2348) 在欧几里得算法过程中,记录一下第一个出现a-2*b>=0的人,这个人一定胜利。(也就是说出现这种情况,他可以根据后面的推断来改变自己的策略,使得对方多走或者少走一步,把必胜控制在自己这一边) 3、Wythoff's Nim(POJ1067) 证明待填坑……...
阅读(485) 评论(0)

树上莫队算法

继续回来写博客……记录点有意思的题目什么的。...
阅读(4599) 评论(0)

DFS序——解决一类树上数据结构问题的方法

以下内容有大段摘自《数据结构漫谈》(BY许昊然)...
阅读(1017) 评论(2)

BZOJ2819 Nim DFS序+BIT+博弈论

不知道为什么这道题我没写手工栈,仅仅是普通的DFS就过了。 其实就是维护一下树上...
阅读(413) 评论(0)
26条 共2页1 2 下一页 尾页
    个人资料
    • 访问:21585次
    • 积分:472
    • 等级:
    • 排名:千里之外
    • 原创:26篇
    • 转载:0篇
    • 译文:0篇
    • 评论:4条
    文章分类
    最新评论