NOI Winter Camp(WC)
文章平均质量分 79
woshitanwei
主:秋哥信徒
副:长郡中学2010届理科实验班生
展开
-
动态树专题 WC 2006 Tube 还有范浩强的“动态树好题”
虽然是O(Qn)的算法可过水题,但是既然是练手的话,就不得不维护一下动态MST了。还是倒着做,删边改为加边,利用环切性质直接找出切点,再将其切开、反向、连边就成了但是反向是这题最蛋疼的一个操作,标记维护限于水平木有在splay中维护(反正我调不出来),直接在外维护了。做了一天半啊,中途怒删6KB的代码重打,终于。。。。。内牛满面。裸代码题,无需多说50 1000 2000#原创 2012-02-21 11:32:01 · 2936 阅读 · 0 评论 -
WC 2008 password
很好的一道题。。。抽出模型是这题关键的一步。。。其实可以作为传统类题的。。。但是如果有任何关于连通性的描述就会彻底破坏这题的价值。。。所以它就成了提交答案式。。。我只做了欧拉回路的测试点。。。因为木有时间了。。。构图很简单。。。将入度大于出度的作为A类,入度小于出度的为B类。。。源向A连边,流量为in-out,B向汇连边,流量为out-in。。。中间的为oo,费用分情况讨论。。。(abc)->原创 2012-03-08 14:41:54 · 739 阅读 · 0 评论 -
WC 2011 relation
明显的NPC或NP-hard,因为它是要在一个图中寻找一个K个点的导出子图,使其边权最大。。。如果这都可以在多项式中解决。。。那么寻找一个图中的k阶团就可解了。。。point 3,4,5:明显的树形DP。。。三个维度F[i,j,s]表示i号点及其兄弟儿子。。。还剩j个点未选择。。。i的父亲选取状况为s(0为未选,1为已选)的最大权值。。。DFS记忆化搜索实现。。。吐槽一句。。。由于5号点K有1原创 2012-03-08 14:18:24 · 614 阅读 · 0 评论 -
Index for WC Solution
这是目录以下是本人认为WC的可做题(即有意义的)OK表示已经做完的题,还要努力啊。。。2002:fence(OK) happy(OK)2003:star2004:twins(OK)airpig(OK)2005:species(OK)dface(OK)2006:tube(OK)2007:jsb(OK) racing(OK) repeat&POI 2003 CIA(OK原创 2012-02-22 19:41:26 · 921 阅读 · 1 评论 -
WC 2011 xor
这篇题解我是来除草的。。。具体题解请见莫涛神犇的题解。。。以及APIO上他的讲题#include#include#include#includeint n=0,m=0,e=1,maxt=0,s=0;long long sum[50005],x=0,a[100005],choose=0,w[200005];int head[50005],link[200005],next[20000原创 2012-03-08 11:19:50 · 798 阅读 · 0 评论 -
WC 2011 joy
此题神矣。。。一开始我先想的第二问。。。想到一个线段树做法。。。对于最优子序列的下标序列,i[2k]~i[2k+1]这段区间选一个最小值位置为pos再在pos~i[2k+1]选一个最大值,更新答案。。。再同样处理剩下的区间i[2k]~pos-1。。。数据随机的话O(lognlogn)但是。。。第一问的更新就成了瓶颈。。。后来看了题解才知道。。。不能把i[2k]~i[2k+1]分为一组。。。要把原创 2012-03-08 11:44:14 · 706 阅读 · 0 评论 -
WC 2010 rebuild 重建计划
题目描述就不说了。要题目的请往百度NOI吧。经典的树的分治,首先,对于答案是分数形式的基本上要使用二分答案,这不是胡扯,详情请见胡伯涛的论文。那么对于这个题,由于不好估计边分治复杂度(其实边分治是可以过的,好像比点分治要快),对于答案,化成如下形式sigma{e}-ans*s=0,对于一个可行的ans设为val,必然满足sigma{e}-val*s>=0,所以二分。点分治时,将每个节点原创 2012-02-29 19:12:39 · 774 阅读 · 0 评论 -
WC 2010 efield 能量场
首先吐槽WC2010:完全毁了“WC不可做”的神奇形象。。。。。。首先是本弱菜被误导了,以为是个动态规划。。。。。。废话少说,首先mamb(ca-cb)化成maca*mb-mbcb*ma。。。这告诉我们关于两者相关的式子,要往把单体信息化到一起,可能会发现很神奇的东西。。。令xa=maca ya=ma,上式就成了叉积。。。所以原题就成了给定在第一象限的n个点,求两两最大叉积的方案,原创 2012-02-29 19:31:51 · 1360 阅读 · 0 评论 -
WC 2009 opt 优化设计
这个题其实就是sat问题,是个NPC,所以做这题基本上是休闲。但其实分析数据可以发现每个数据都是有目的,并不完全是混乱的boolean表达式。首先对于第一、二两个点数据其实质就是枚举,让我想到了NOIP04年的等价表达式。。。囧。。。point 3、4、5、6就是2-sat问题,本弱菜写2-sat的题目不多,基本上中规中矩除读入140几行。构图什么的几乎木有,裸的2-sat问题,345原创 2012-02-25 09:54:34 · 759 阅读 · 0 评论 -
WC 2004 airpig
虽然是提交答案的题目,但还是硬着头皮做了一下,想法其实也不是我的,很老很老的某位神犇的题解这题是一个双启发函数+随机搜索的题,看上去程序应该很慢,实际上竟然最大数据秒解,而且第一次运行就可找到比标准答案优的解,无不让人佩服(我是说佩服写题解的神犇)贪心的想,每个小猪要飞向猪圈必定找最短路,那么每个小猪向当前所有猪圈连边,km算法最优匹配算权值作为当前操作的启发函数值,但是每一步都做km就会原创 2012-02-22 15:43:38 · 712 阅读 · 0 评论 -
WC 2009 voice
这题我觉得就是实现和卡常数!!!不会后缀数组的或者背模板的请先去好好研究后缀数组,至少要有自己的版本,当然,自己的版本至少要经过各大OJ洗礼后才能出炉。由于不会SpareTable算法,直接zkw线段树。还是一样,将所有串连起来后缀排序,对于每个字,枚举匹配的位置,O(logn)zkw或O(1)ST的查询匹配长度,按照查询结果跳指针,最多K次不匹配,最多跳K次,然后就统计即可。这一步O原创 2012-02-22 17:08:37 · 697 阅读 · 0 评论 -
WC 2007 racing jsb 两题
关于石头剪刀布和Racing那题题解很清晰,所以就不多说了。但是,racing这一题竟然卡SPFA,吐槽不能。。。。。。还有关于racing为什么是从赛道上一点走到另一赛道端点而不是中间某点的证明请看题解PPT的第11张(相信很多人都木有认真看题解)Codejsb racing(SPFA 60分,懒得改了)#include#include#include#include原创 2012-02-22 16:37:07 · 634 阅读 · 0 评论 -
WC 2004 twins
这个题的亮点就是”它竟然是WC的题!!!!“第二问的DP木有什么好说的很裸的f[i]=(1,剩下的就是高精度的事了然后关于第一问,首先本弱菜想了很久木有想出来原因竟然是我以为是要找前驱。。。。。。。好吧,它是要找后继的说。。。。。那么直接进入正题,对于一个合法序列a,说它合法有三个条件,没有后继0、没有循环节或循环长度为序列长度、然后就是对于连续的0的个数的最大值,就是前导0的原创 2012-02-22 15:22:36 · 715 阅读 · 0 评论 -
WC 2006 species
这是一道很奇怪的题,说它奇怪就是一旦想出来就会觉得自己被侮辱了智商,但想不出来更觉得自己智商低其实是一个比较奇特的想法。首先对于|a-b|的绝对值符号特别的“厌恶“,怎么让它变得好看呢?注意到题目中的k那。。。。。又有什么用?注意到假设a对于任意两个物种的k个属性,若用0,1表示属性值的正负,选择最小的属性值减去更新答案就可以了细节,注意第k号属性不可以改符号,所以要按第k原创 2012-02-22 14:43:01 · 535 阅读 · 0 评论 -
WC 2005 dface 双面棋盘
其实就是个线段树+并查集维护,原来的每行看做线段树的一个底层节点,线段树每个节点2*n的空间建立一个并查集,两个节点合并时维护块的个数信息,然后舍弃中间部分保留外围部分重建并查集就可以了。我写的是zkw线段树,用这方法就算不是黑白双色也可以的吧。本人弱菜。#include#include#include#includeint sum[517][5],a[517][517],ll原创 2012-02-22 14:23:08 · 1063 阅读 · 0 评论 -
NOI 冬令营 WC 2008 Trip 旅行计划 题解
题意就不多说了显而易见,所求的定为一棵树首先,这个题可以用连通性状态压缩动态规划来写,但感觉思路清晰,实现复杂(较于第二种方法),所以果断写了树结构状态压缩dp假设f[i][j][s]为已知景点连通性为s集合,其中每一二进制位1表示已连接,0表示未连接转移显然有两种(以下省略取最小的min)第一:将两个同根树合并,f[i][j][s]=f[i][j][t]+f[i][j][s^原创 2012-02-10 09:06:50 · 951 阅读 · 0 评论 -
POI 2003 CIA sequence without stammers 题解 波兰文翻译
定义1:一个字符串被认为是square-free的,当且仅当它不包含形如xx的子串,其中,x为有限非空字符串。你很快发现,两个字符(a,b)组成的字母表,在长度大于3时无法构造出square-free的字符串,因为长度为4的字符串总会包括形如aa,bb,baba,abab的子串,所以要构造这样一个square-free的字串,所需字母表元素个数要在3个及以上。挪威数学家Axel Thue证明了翻译 2012-02-28 16:27:15 · 1450 阅读 · 0 评论