- 博客(65)
- 收藏
- 关注
原创 POJ 1868(等差数列)
暴力模拟无算法Program P1868;Var c:char; n,i,j,k:longint; a:array[0..10000] of longint;function is_ant:boolean;var i,j,k:longint;begin for k:=1 to n shr 2 do for i:=1 to n-k shl
2012-08-31 20:31:27 922
原创 POJ 1088(滑雪)
标准记忆化搜索 模板题Program P1088;var ans,n,m,i,j:longint; a,f:array[0..101,0..101] of longint;function max(a,b:longint):longint;begin if a>b then exit(a) else exit(b);end;function dfs(x,y:
2012-08-31 17:55:09 739
原创 POJ 1830(位运算+双向DFS)
此题也可用GE做,可是我不会矩阵乘法……Program P1830;const maxn=28; maxf=100007; none=-2139062144;var ans,tt,n,i,j,s,t,mid:longint; b:array[1..29] of longint; h,num:array[0..maxf] of longint;
2012-08-31 15:22:47 772
原创 POJ 1276(多重背包)
RTcount 表示 第i种面额在f[j] 放的数量Program P1276;const maxn=20; maxcash=1000000;var cash,n,i,j:longint; cost,d:array[1..maxn] of longint; f,count:array[0..maxcash] of longint;begin
2012-08-28 22:02:46 1091
原创 POJ 3169(带起点的拆分约束)
这次的拆分约束有明显的起点。拆分等式 Xb-Xa Xa-XbProgram P3169;const maxml=10000; maxn=1000;var n,ml,md,i,j:longint; a,b:array[1..maxml,1..3] of longint; d:array[0..maxn] of longint; fl
2012-08-28 20:13:02 1771
原创 POJ 2942(Tarjen的点双连通分量+交叉染色法)
这题是点双连通分量,我一开始写成边的……首先点双连通分量可能重叠……(1,2) (2,3) (3,1) (3,4) (4,5) (5,6) (3.6)这时有(1,2,3)和(3,4,5,6)两组双连通分量故一定要在Tarjen里判……另外Stack存边时注意特判(Stack不能为空)当dfs[k]请注意在推送(k,i)后遍历得到的一堆边(包括(k,i))组成了一组点双连通分量
2012-08-28 16:21:34 1813
原创 POJ 2186(有向图的强连通分量)[改][Template:SSC/缩点]
题目大意:给有向图G,求图G中有多少点能从所有起点到达暴搜必T,故本题需要用Tarjen求有向图的强连通分量。缩点后得DAG(若有环则属同一强连通分量)由于无环,故这图为树或树的森林先判断图是否连通,若为森林则无解否则,判定每个SSC是否有连出的边(由于图无环,故连出的边上的点无法回去)答案即为出度为0的连通分量上的点如果不止一个这样的点,则不同的点无法互相到达
2012-08-27 16:08:36 2263
原创 HYSBZ 1048(记忆化搜索)
把一个大矩阵分割成n个矩阵,使它们的方差最小。g[i,j,k,l,path]表示(i,j) 到 (k,l) 的矩阵分割成path个的最小方差,然后暴力搜索+记忆化O(n^5) (nProgram b;const maxn=10;var n,m,i,j,k,l,deltax,r:longint; delta:double; f:array[1..maxn,1.
2012-08-27 11:41:12 846
原创 POJ 3177(带重边的连通图的双连通分量)
题目大意:求带重边的连通图至少加几条边变成双连通图POJ 3352+重边用邻接矩阵的表示无压力Program P3177;const maxn=1000; maxm=1000;var n,m,i,j,x,y:longint; b:array[1..maxn,1..maxn] of boolean; indegree,c,a,low:a
2012-08-26 21:28:37 1520
原创 POJ 3352(Tarjen中Low的性质)
这题做了半天……结果发现自己缩点错了……言归正传,这题给了一个无向图G,求添加几条边后双连通……做了一上午Tarjen不对……Low就是不满足性质(后来发现这是无向图的,要用有向图版本……——用有向图法做无向图……)终于……做完了(请忽略Stack,我最后索性直接用Low值了……勉强算hash?)Program P3352;const maxn=1000; m
2012-08-26 21:22:00 1407
原创 POJ 2010(二叉堆-入门)
好像这题二分也可以做……话说这年头写堆都不用Heapify 函数的?Program P2010;const maxc=100000; maxn=19999; maxaid=100000; maxf=2000000000;type node=record a,b:longint; end; heap=record
2012-08-26 13:47:53 1071
原创 POJ 3980(求余)
求余数……Program P3980;var a,b:longint;begin while not seekeof do begin read(a,b); writeln(a mod b); end;end.
2012-08-25 22:38:51 1011
原创 POJ 1856(海战)
搜索 此题数据小,不需要状压Program P1856;var n,m,i,j,ans:longint; c:char; f:array[0..1010,0..1010] of boolean;function find(x,y:longint):boolean;var i,j,k,l:longint;begin i:=x;j:=y; whi
2012-08-25 21:45:13 814
原创 POJ 1523(求割点)
求割点入门题!……死调一下午+晚上才发现把‘node'打成’nodes'了……Program P1523;const maxedge=999000; maxn=10000;var edge,tail:array[1..maxedge] of longint; size:longint; head:array[1..maxn] of longint;
2012-08-25 21:41:57 1433
原创 POJ 2777(涂点问线)
线段树……Program p2777;const maxl=100000; maxt=30; maxo=100000;var l,t,o,i,j,k:longint; col:array[1..maxl*10] of longint; c:char; x,y,color:longint; visit:array[1..maxt] of
2012-08-24 15:22:30 994
原创 POJ 3100(非二分不合作)
这题的数据太水……居然不需要2分Log n查找……尽管我也不知道上限是多少……Program P3100;var a,b,n,i,j,dis:longint;function pow(a,b:longint):longint;var i:longint;begin if a=0 then exit(0); if a=1 then exit(1);
2012-08-24 12:34:09 844
原创 HYSBZ 1079(着色方案)
Dp 神奇的状态转移……Program fd;const mo=1000000007;var n,i,j:longint; c,tot:array[1..15] of longint; f:array[0..15,0..15,0..15,0..15,0..15,0..15] of int64;function dfs(a1,a2,a3,a4,a5,la
2012-08-23 22:15:38 582
原创 POJ 1818(贪心)
让每个人每局都与可战胜的人中最强的打,看有无可行解……Program p1818;var n,x,k,i,j,mid:longint; q:array[1..5100] of longint; f:array[1..5100] of longint;function max(a,b:longint):longint;begin if a<b then ex
2012-08-23 22:11:11 1053
原创 POJ 1363(栈)
此题纯模拟也能过…… 我更懒,直接记栈尾元素和已出元素……Program P1363;var n,i:longint; a:array[1..1000] of longint; b:array[0..1000] of boolean; t:longint; tag:boolean;begin read(n); while (n>0)
2012-08-22 21:09:08 803
原创 POJ 2828(卡时线段树)
本题乍一看链表,实际上肯定超时%……故用线段树 LogN查找……Program P2828;const maxn=200000;var n,i,j:longint; pos,val:array[1..maxn] of longint; sum:array[1..maxn*10] of longint; ans:array[1..maxn] of longi
2012-08-22 20:36:43 2214
原创 POJ 2528(数据有误的线段树)
此题数据有误……是我英文太差,还是答案出错……Program P2528;const maxn=10000; maxr=10000000;var t,n,i,j,k:longint; a,b,v:array[1..maxn*2] of longint; h:array[1..maxr] of longint; col:array[1..max
2012-08-22 17:15:08 1196
原创 POJ 2209(阅读理解)
这题题目看不懂……用谷歌翻译完,更看不懂……对A此题不看Discuss的神语言流表示膜拜Program P2209;var n,p,s,ans,i:longint;begin read(n,p); ans:=0; for i:=1 to n do begin read(s); if p=2 then s:=s*s;
2012-08-21 22:27:01 755
原创 POJ 2823(双端队列)
这题考双端队列……好偏门的数据结构……Program c;const maxn=1000000;type node=record num,d:longint; end; douq=record d:array[1..maxn] of node; l,r:longint; end;
2012-08-21 22:18:13 1089
原创 POJ 2195(多源多汇最小费用最大流)
这题 居然一次就过了^_^Program P2195;const maxn=200; maxm=200; maxh=200; maxd=1000;var n,m,i,j,k,ut,vt:longint; s:string; form:array[1..maxn,1..maxm] of longint; u,v:array[1..max
2012-08-20 22:02:08 3861
原创 POJ 2516(最小费用最大流)
一开始居然忘添反向边……Program P2516;const maxn=100; maxm=100; maxk=100;var n,m,k,i,j,l,maxflow:longint; need,prod:array[1..maxn,1..maxk] of longint; needk,prodk:array[1..maxk] of longi
2012-08-20 17:52:38 1543
原创 POJ 1061(exgcd)
这题是exgcd……我居然连wa了2天……至少知道DIV函数的性质了 (-x) div t =-(x div t) (-x) div (-t) = (x div t)发现自己数论蒟蒻……Program p1061;var x,y,n,m,l,t:int64; a,b,c,c2:int64;f
2012-08-20 13:23:32 1168
原创 POJ 1018(多关键字排序还在wa…)
哪为朋友帮我看看多关键字排序哪儿错了……Program P1018;type product=record b,id:longint; p:longint; end;var t,n,i,j,total,count,maxb,mintb,price:longint; visit:array[1..10
2012-08-19 15:25:33 1141
原创 POJ 3259(负权回路)
注意普通路径是双向的program P3259;var f,n,m,w,i,j:longint; s,e,t:longint; map:array[1..2500,1..3] of longint; wmap:array[1..300,1..3] of longint; d:array[1..2500] of longint; flag:boole
2012-08-18 12:20:02 1311
原创 POJ 2505(博弈乘数)
别问我……我也不知道怎么证明Program p2505;var n:double;begin while not seekeof do begin read(n); while n>18 do n:=n/18; if n<=9 then writeln('Stan wins.') else writeln('Olli
2012-08-17 20:08:59 820
原创 POJ 2506(放方块)
高精DpProgram P2506;type arr=record a:array[1..10000] of longint; len:longint; end;const base=1000;var i,j,n:longint; f:array[0..250] of arr;function max(a,b:l
2012-08-17 20:07:27 987
原创 POJ 1832(9连环)
格雷码做0要特判答案 就是读入的两个数充格雷码转为2进制的差的绝对值的十进制Program P1832;Type arr=record a:array[1..500] of longint; len:longint; end;var n,m,i:longint; a,b,c,d:arr; node2:
2012-08-17 18:33:36 1823
原创 POJ 1860(判定正圈)
Bellman_fordProgram P1860;var n,m,i,j,s:longint; v:double; flag:boolean; d:array[1..100] of double; x,y:array[1..100] of longint; map:array[1..100,1..4] of double;procedure r
2012-08-17 13:46:16 1353
原创 POJ 1207(3N+1)
3n+1问题 果断暴力Program P1207;var i,j,k,n,m,ans:longint;function max(a,b:longint):longint;begin if a>b then exit(a) else exit(b);end;procedure swap(var a,b:longint);var p:longint;begi
2012-08-17 12:59:28 1027
原创 POJ 1328(贪心)
贪心,区间排序如果区间包含 略过,否则答案+1;Program P1328;var n,d,i,j,k,ans:longint; x:double; tag:boolean; map:array[1..1000,1..2] of double;procedure qsort(l,r:longint);var i,j:longint;
2012-08-16 22:11:26 1085
原创 POJ 3006(线性筛素数)
线性筛素数……Program P3006;const maxn=1000000;var prime:array[1..maxn] of boolean; p:array[1..maxn] of longint; t:longint; a,d,n:longint;Procedure primeing;var i,j:longint;begin
2012-08-16 20:37:17 1265
原创 POJ 2983(差分约束-有无解)
差分约束……Program p2983;var n,m,i,j,p:longint; c:char; flag:boolean; d:array[0..5000] of longint; w:array[1..100100,1..3] of longint;procedure relax(v,u,w:longint);begin if (d[v
2012-08-16 18:37:23 999
原创 POJ 1201 (差分约束)
1176 加权版 ……还是差分约束Program P1201;var n,i,j,minq,maxq:longint; d:array[-1..60000] of longint; w:array[1..60000,1..3] of longint; flag:boolean;function min(a,b:longint):longint;begin
2012-08-16 17:17:38 970
原创 POJ 1716 (差分约束)
差分约束……Program P1716;var n,i,j,minq,maxq:longint; d:array[-1..10000] of longint; w:array[1..30000,1..2] of longint; flag:boolean;function min(a,b:longint):longint;begin if a<b t
2012-08-16 17:09:22 1064
原创 POJ 1149(构图巨难……)
EK……Program P1149;var i,j,k,n,m,p:longint; map,f:array[0..500,0..500] of longint; visit,e,pre,pighouse:array[0..500] of longint; maxflow:longint;function min(a,b:longint):longint;
2012-08-16 13:59:30 1264
原创 POJ 1273(网络流-附hllp+sap模板)
网络流入门题目Program P1273;Var n,m,i,j,x,y,p,level:longint; map,f:array[1..400,1..400] of longint; list:array[0..400,0..400] of longint; queue:array[1..400] of longint; b:array[1..40
2012-08-16 12:28:46 1256
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人