- 博客(14)
- 收藏
- 关注
原创 sza
<br />program xqz; const maxn=500005; var i,j,k,m,n,ll,rr:longint; st:ansistring; f,l,r,edge,next:array[0..maxn] of longint; begin readln(st); n:=length(st); f[1]:=n; ll:=0; rr:=0; for i:=2 to n do begin r[i]:=i+1; l[i]:=i-1;
2011-03-07 22:41:00 370
原创 POI2008 CLO
<br />program xqz; const maxn=100005; maxm=200005; var i,j,k,m,n,ll,rr,b,p:longint; q,ind,edge:array[0..maxn] of longint; point,next:array[-maxm..maxm] of longint; z:array[0..maxn] of boolean; ok:boolean; begin read(n,m); ok:=true;
2011-03-06 20:48:00 578
原创 [POI2005]Dwu
<br />program xqz; const maxn=50000; var ans,i,j,k,m,n,k1,k2,t1,t2:longint; f,fa,s,x,y,re:array[0..maxn] of longint; pos,o:array[0..100000] of longint; a:array[0..maxn,0..2] of longint; function find(i:longint):longint; var kk:longint; beg
2011-03-06 10:08:00 502
原创 employ
<br />program xqz; const maxn=1005; maxm=maxn*maxn+2*maxn; oo=1 shl 30; var i,j,k,m,n,e,rr,ss,tt,de,b,p:longint; edge,a,d,ne,shift,pre:array[0..maxn] of longint; point,next,c:array[-maxm..maxm] of longint; ans:int64; ok:boolean; procedure
2011-03-03 21:19:00 761
原创 poi2004 WYS
program xqz; const maxm=200001; var i,j,k,m,n,ll,rr,x,de,ans,o:longint; a,b,s,t,y:array[0..maxm] of longint; c,f:array[0..maxm*2] of longint; procedure swap(var a,b:longint); var k:longint; begin k:=a; a:=b; b:=k; end; procedure sort1(ll
2011-02-27 16:48:00 820
原创 NOI2006 网络收费 network
<br /> <br />NOI2006 网络收费<br />题目大意:<br />“配对收费”的方式<br />合理的改变每一个叶子节点的颜色(付费方式)<br />使改变档案费用+配对收费总和最小<br /> <br />40%的数据中N≤4<br />80%的数据中N≤7<br />100%的数据中N≤10<br /> <br /> <br />节点个数=2^n。<br />要点一:看懂系数表 做的时候就卡在这里了,囧!!<br /> 配对收费的规则<br /> B较多时, AA 收费系数为2
2011-02-11 18:12:00 1013 2
原创 pku1091
<br /> <br />跳蚤{经典}<br />(jump.exe)<br /> <br />Z城市居住着很多只跳蚤。在Z城市周六生活频道有一个娱乐节目。一只跳蚤将被请上一个高空钢丝的正中央。钢丝很长,可以看作是无限长。节目主持人会给该跳蚤发一张卡片。卡片上写有N+1个自然数。其中最后一个是M,而前N个数都不超过M,卡片上允许有相同的数字。跳蚤每次可以从卡片上任意选择一个自然数S,然后向左,或向右跳S个单位长度。而他最终的任务是跳到距离他左边一个单位长度的地方,并捡起位于那里的礼物。<br />比如当N=
2011-02-10 20:10:00 776
原创 NOI2008 设计路线 design
<br />题目及题解可以参见BYV大牛的,很详细<br />http://www.byvoid.com/blog/noi-2008-design/<br /> <br />自己的一些想法:<br /> <br />实现的时候不需要求第一问的解是多少,只需要找到第一个a[i,b]>0的b,然后前面的a[i,b1] b1<b都是等于0的。所以这个定义<=b的方案数就是=b的方案数。<br />要熟悉这种利用辅助递推,前缀乘积,后缀乘积,以及固定一个指针,划另外一个为1维的题。<br />至于不超过10,要大胆
2011-02-10 17:24:00 831
原创 pku2057 The Lost House
<br /> <br />一个N(N<=1000)个节点树上,树最多是八叉。有一个蜗牛把壳丢在了某个叶子节点。它从根节点出发沿树枝走去找壳。某些内点上有蚜虫,会告诉你下面叶子上是否有壳。为蜗牛找决定一个路径,使蜗牛找到壳的路径长度的期望值最小值,即所有可能的路径长度和的平均值。<br /> <br /> <br />这道题比较经典,首先对于每一个以i为根的子树,记b[i]为在以i为根的子树中找没有找到的时候所经历的路径长度(包括从父亲到他的边),以f[i]表示在以i为根的子树中找到的期望步数,以s[i]表示
2011-02-09 18:49:00 439
原创 NOI2008 生成树计数
<br /> <br />2011/2/8<br />生成树计数<br /> <br />题目我就不放了。 <br /> <br />栋栋十分xe的把大家往行列式上面引,但是是不能用行列式做的。观察这道题的特点,k特别小,因此这肯定是切入点。所以用状态f[I,j]表示前i个,联通状态为j(为长度为k的最小表示)的方案数。依次处理从左到右的点,往状态右边加入一个点,并往左边的点连边,删去原来最左边的点。可行的连边是使得原来最左边的元素的联通块有延续,注意这个时候要对状态重新最小表示法,重新标号,因为关心的只是
2011-02-08 19:30:00 954 1
原创 趣题,猜数字
<br /> <br />Poi 2004 pin<br />题意:pin码是一个十六进制的有4个元素的数组。现在要你猜pin码,对于一个数组a[i],表示i通过转换后是a[i],现在你可以询问b,a,表示pin码经过a转换是否是b数组。询问次数不超过30次。<br /> <br />首先的想法是必需一个个考虑。先求出pin中有哪些数字,但是这个数字可能出现多次。这样的枚举量是受不了的。所以转化为哪些没出现过,也就是哪些改了无影响。16次。<br />确定了后,考虑只有1个数字只填在一个位置的枚举量较小,称
2011-02-04 23:15:00 484
原创 博弈好题 poi2004 gra
<br /> <br />Poi2004 gra{经典}<br />题意:给定一个1*m的棋盘,现在上面有n个棋子,每次可以把一个棋子移到编号比它的编号大的第一个格子里面,谁把一个棋子移到了m中就获胜。<br />M<=10^9,n<=10^6。<br /> <br />相当经典的一道题啊。<br />S1:若a[n]=m-1,a[n-1]=m-2,……则只能移动他们,Ans=这样连续的个数。若此时ans>0,则输出。<br />S2:谁都不想把棋子移动到m-1去,因此若谁移动后所有棋子都在[m-n-1..
2011-02-04 18:33:00 1439
原创 NOI2008 假面舞会party
<br /> 假面舞会<br />【问题描述】<br />一年一度的假面舞会又开始了,栋栋也兴致勃勃的参加了今年的舞会。今年的面具都是主办方特别定制的。每个参加舞会的人都可以在入场时选择一个自己喜欢的面具。每个面具都有一个编号,主办方会把此编号告诉拿该面具的人。为了使舞会更有神秘感,主办方把面具分为k (k≥3)类,并使用特殊的技术将每个面具的编号标在了面具上,只有戴第i 类面具的人才能看到戴第i+1 类面具的人的编号,戴第k 类面具的人能看到戴第1 类面具的人的编号。参加舞会的人并不知道有多少类
2011-01-30 10:33:00 999
原创 poj1379——模拟退火
Poj 1379题意:给定n个点,你需要在给定矩形范围内找到一个点,使得它到这n个点的距离的最小值最大。一开始是用的顾研的方法,但总是AC不了,听盾哥说他那个有问题。正确的算法流程应该是:初始化:初始温度de(充分大),初始p个并行解状态S(算法迭代的起点), 失败次数上限L,接受参数x,衰变系数kkWhile deFor 每个状态S 随机调解方向 While 失败次数 调整得到S’ If C[S’] 成功,m:=0; S:=S’{这样下一次是继续这个方向调整,而且温度不衰变}
2011-01-26 20:48:00 1769
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人