- 博客(65)
- 资源 (2)
- 收藏
- 关注
原创 刺杀大使{二分答案+dfs+人工栈}
{转自 仕林} {O(n*m*logmax)}program murder;var n,m,max:longint; p:array[1..1010,1..1010]of longint; v:array[1..1010,1..1010]of boolean; sx,sy:array[0..1000010]of longint;function dfs(
2013-11-04 21:45:07
1088
原创 poj1321棋盘问题{wa}
var n,k,i,j,ans:longint; vx,vy:array[1..8] of boolean; map:array[1..8,1..8] of char;procedure dfs(x,y,now:longint);var j,l:integer;begin if now=k then inc(ans) else begin for
2013-11-04 21:45:05
776
原创 smartoj2470异或运算
{注意异或的运算法则}var n,k,i,j,ans:longint; a:array[1..5000] of longint; s:array[0..5000] of longint;begin read(n,k); fillchar(s,sizeof(s),0); ans:=0; for i:=1 to n do begin read(a[i
2013-11-04 21:45:03
823
原创 高精度算法{朴素}
TYPE ARR=ARRAY[1..1001] OF INTEGER;VAR K1,K2,I:INTEGER; S1,S2,T:ANSISTRING; A,B,C:ARR;PROCEDURE ADD(A,B:ARR);VAR X,I:INTEGER;BEGIN X:=0; FOR I:=1001 DOWNTO K1 DO BEGIN C[I]:=
2013-11-04 21:45:01
571
原创 POJ1088滑雪
暴搜飘过。。。{记忆化}VAR R,L,I,J,MAX:lONGINT; DX:ARRAY[1..4] OF INTEGER=(1,-1,0,0); DY:ARRAY[1..4] OF INTEGER=(0,0,-1,1); H:ARRAY[1..100,1..100] OF LONGINT; F:ARRAY[1..100,1..100] OF LONGINT;FUNC
2013-11-04 21:44:59
633
原创 随机化快速排序
var n,i:longint; a:array[1..100000] of longint;procedure swap(var a,b:longint);var t:longint;begin t:=a;a:=b;b:=t;end;procedure qsort(l,r:longint);var i,j,m:longint;begin i:=l; j:
2013-11-04 21:44:55
639
原创 sid1015918最大公约数{O(n+m)}
PID721 / 最大公约数 题目描述有N个整数,kAc会对它们做Q次修改。每次修改指的是对所有数加一个整数(可正可负)每修改一次后,他想知道当前所有数的最大公约数是多少。对于40%:N, Q 对于70%:N, Q 对于100%:N, Q 在这里,我们认为任意非负整数x跟0的最大公约数都是x,另外,负数的最大公约数等于其绝对值的最大公约数。 输入格式
2013-11-04 21:44:52
815
原创 最大加权矩形{类似最大子串和}{O(n…
var n,i,j,k,max:longint; a:array[1..100,1..100] of longint; s:array[1..100,0..100] of longint; f:array[1..100] of longint;begin fillchar(s,sizeof(s),0); read(n); for i:=1 to n do fo
2013-11-04 21:44:50
842
原创 stein算法求最大公约数
var n,a,b,i:longint;function gcd(a,b:longint):longint;begin if a=0 then exit(b); if b=0 then exit(a); if (a and 1=0) and (b and 1=0) thenexit(gcd(a shr 1,b shr 1) shl 1); if (a and 1=0) t
2013-11-04 21:44:48
868
原创 poj3259
Language:DefaultWormholesTime Limit: 2000MSMemory Limit: 65536KTotal Submissions: 26296Accepted: 9468DescriptionWhile exploring his many farms, Farmer John has discovered anum
2013-11-04 21:44:44
681
原创 poj2492 A bug's life{种类并查集}
A Bug'sLifeTime Limit: 10000MSMemory Limit: 65536KTotal Submissions: 25605Accepted: 8334DescriptionBackground Professor Hopper is researching the sexual behavior of a rarespeci
2013-11-04 21:44:42
812
原创 代码框 的代码
<pre style="padding: 9.5px; font-family:Monaco, Menlo, Consolas, 'Courier new', monospace; font-size: 13px;color: rgb(51, 51, 51); border-top-left-radius: 4px;border-top-right-radius: 4px; border-b
2013-11-04 21:44:39
972
原创 poj1703Find them catch them
Find them, Catch themTime Limit: 1000MSMemory Limit: 10000KTotal Submissions: 26679Accepted: 8090DescriptionThe police office in Tadu City decides to say endsto the chaos, as lau
2013-11-04 21:44:37
653
转载 A Bug's Life -Poj
原文地址:Bug's Life -Poj">A Bug's Life -Poj作者:兰多夫87A Bug's LifeTime Limit: 10000MS Memory Limit:65536KTotal Submissions: 25599 Accepted:8332DescriptionBackground Professor Hopper is researching th
2013-11-04 21:44:35
896
原创 知识点清理
基础数论(1):1^k+2^k+3^k+...+n^k≈n^k/(k+1)(2):矩阵运算(加减乘)(3):catalan数(4):解一元高次方程(5):解线性方程组(6):正整数的分拆数据结构(7):链式存储结构(8):字串匹配(9):hash(10):二叉树,图的遍历(11):树dp(12):线段树(13):哈夫曼树 (14):二分图基本算法(15):随机快排
2013-11-04 21:44:33
674
原创 曼哈顿环{dfs}
var n,i,j,k,x:longint; e:array[1..100] of longint; f:array[1..100,1..100] of boolean; used:array[1..100] of boolean;procedure dfs(s,d:longint);var i:longint;begin if (d=n) and (f[e[d],1
2013-11-04 21:44:31
800
原创 一笔画问题{摘自维基}
一笔画定理[编辑]对于一笔画问题,有两个判断的准则,它们都由欧拉提出并证明[1]。定理一[编辑]连通的无向图 G有欧拉路径的充要条件是:G中奇顶点(连接的边数量为奇数的顶点)的数目等于0或者2。连通的无向图 G是欧拉环(存在欧拉回路)的充要条件是:G中每个顶点的度都是偶数。[2]。证明[2][3]:必要性:如果一个图能一笔画成,那么对每一个顶点,要么路径中“进入”这
2013-11-04 21:44:29
2256
原创 poj1160post office{动态规划…
var v,p,i,j,pos:longint; x:array[1..300] of longint; w:array[1..300,1..300] of longint; f:array[1..300,0..30] of longint;procedure swap(var a,b:longint);var t:longint;begin t:=a;a:=b;b:
2013-11-04 21:44:26
720
原创 poj1723soldiers{中位数,曼哈顿距…
{通过样例,WA,不知道错在哪里,请指教}type arr=array[1..10000] of longint;var n,i,x0,y0:longint; ans:int64; x,y:array[1..10000] of longint;procedure swap(var a,b:longint);var t:longint;begin t:=a;a:=b;b:=t;
2013-11-04 21:44:24
767
原创 数学定理{摘自 百度}{important}
{突然间在百度百科上发现了N多定理,先跟大家分享一下} 15定理 ▪ 2π定理 ▪ Sun-Ni定理 ▪Vizing定理▪ 阿贝尔定理 ▪ 阿贝尔二项式定理 ▪ 阿贝尔-鲁菲尼定理 ▪阿贝尔曲线定理▪ 阿达马三圆定理 ▪ 阿蒂亚-辛格指标定理 ▪ 阿尔泽拉-阿斯科利定理 ▪阿基米德原理▪ 阿基米德中点定理 ▪ 埃尔布朗定理 ▪ 艾森斯坦定理 ▪安达尔定理▪ 奥尔定理 ▪
2013-11-04 21:44:22
2677
原创 霍纳法则{计算多项式的值}
{必修三学过的,但是一直没打过,这是很好的技巧哦}var i,n,x,ans:longint; a:array[1..100] oflongint;{a[1],a[2],a[n]分别为最高次项系数,次高。。。常数项}begin read(n,x); for i:=1 to n do read(a[i]); ans:=a[1]; for i:=1 to n-1 do
2013-11-04 21:44:20
1187
原创 带权中位数
D[i]为每个点的权值,则此时的中位数是trunc(∑D[i]/2)这个数1:计算总的权值和,初始左边总权值为0;2:当前点T从1开始算起3:若左边总权值+当前点的权值4:则把当前点的权值累加到左边总权值的和中,把当前点后移一位,转35:T就是我们的最优点6:计算到T点的总代价
2013-11-04 21:44:17
957
转载 求N个数的最小公倍数
原文地址:求N个数的最小公倍数作者:zuopp0123原文:http://projecteuler.net/thread=5一道算法题:2520 is the smallest number that can be divided by eachof the numbers from 1 to 10 without any remainder.What is the smallest po
2013-11-04 21:44:15
828
原创 卡特兰数{转}
http://blog.youkuaiyun.com/super_chris/article/details/6113779算法课最后一节讲到了卡特兰数,总结和学到了很多以前不知道的东西。卡特兰数的递推公式是F(n)=∑(k=1…n){F(k-1)*F(n-k)}=∑(k=0…n-1){F(k)*F(n-k-1)}一般性公式为F(n)=C(2n,n)/(n+1)可以描述的问题有1、n个元素的
2013-11-04 21:44:13
698
原创 求不定方程初始解{ax+by=c,a,b,c∈Z…
var a,b,c,x,y,gcd:longint;function getroot(a,b,c:longint;varx,y,gcd:longint):boolean;var tx,ty:longint;{记得设一个临时存下一层递归的变量}begin if b=0 then if c mod a=0 then begin gcd:=a;
2013-11-04 21:44:11
1948
原创 1200同余方程{扩展欧几里得}
var a,b,x,y,d,e:longint;function extendedeuclid(a,b:longint;varx,y:longint):longint;var t:longint;begin if b=0 then begin x:=1; y:=0; exit(a); end else begin
2013-11-04 21:44:09
547
原创 扩展欧几里得{计算最大公约数的线…
分析见《NOI导刊》第57期var a,b,x,y:longint;function extendedeuclid(a,b:longint; varx,y:longint):longint;var t:longint;begin if b=0 then begin x:=1; y:=0; exit(a); end
2013-11-04 21:44:07
610
原创 最大公约数{摘自 百科}
gcd(a,b)=gcd(b,a) (交换律)gcd(-a,b)=gcd(a,b)gcd(a,a)=|a|gcd(a,0)=|a|gcd(a,1)=1gcd(a,b)=gcd(b, a mod b)gcd(a,b)=gcd(b, a-b)如果有附加的一个自然数m,则: gcd(ma,mb)=m * gcd(a,b) (分配律)gcd(a+mb ,b)=gcd(a
2013-11-04 21:44:05
837
原创 2485highways{最小生成树}
var t,m,n,k,ans:longint; w:array[1..500,1..500] of longint; d:array[1..500] of longint; used:array[1..500] of boolean;procedure init;var i,j:longint;begin fillchar(d,sizeof(d),0); fil
2013-11-04 21:44:02
584
原创 堆排{nlogn}
var n,i:longint; a:array[1..1000] of longint;procedure buildheap(max,now:longint);var j,x:longint;begin x:=a[now]; j:=now*2; while j begin if(ja[j+1])then inc(j); ifx>
2013-11-04 21:44:00
736
原创 1700施工方案第二季{转 仕林}
总的来说,这是一道考图论知识的题,可以搜到很多关于树的直径的东西,以及一些证明,这是一道好题!programshigong;type arr=array[1..200000]oflongint;varn,m,tot,{边数} one,{以节点1为树根时dfs得到的最远点} two:longint;{以one为树根时dfs得到的最远点,d(one,two)既为树的直径}
2013-11-04 21:43:58
1027
原创 数的直径{摘自 百度文库}
1。我们用a~b表示树中任意两个结点a,b之间的唯一路径,a~b之间可以有0个或多个结点;用x \in a~b表示结点x处于路径a,b上,即存在形如a~x~b的路径(这里x可以和a或b重合);用符号a-b表示a,b直接相邻。2。结点之间的距离——根据树的性质,任意两个结点u,v之间都有唯一的路径u~v相连,u~v上边的数目称为u,v之间的距离,记作d(u,v);3。树的直径——树中
2013-11-04 21:43:56
684
原创 逆序对数{nlogn,归排}
var n,i:longint; ans:int64; a,temp:array[1..100000] of longint;procedure merge(l,m,r:longint);var i,j,k:longint;begin i:=l; j:=m+1; for k:=l to r do begin if(ir)or(a[i]
2013-11-04 21:43:53
754
原创 归并排序{nlogn}
var n,i:longint; a,temp:array[1..100000] oflongint;{不要忘了设temp数组,要不然很悲剧}procedure merge(l,m,r:longint);var i,j,k:longint;begin i:=l; j:=m+1; for k:=l to r do begin if(ir)or(a
2013-11-04 21:43:51
562
原创 3070Fibonacci{矩阵快速幂}
{N久以前的一道题,今天终于水过了啊。。。这个矩阵好神奇啊}type node=array[1..2,1..2] of longint;const max=10000;var n:longint; a:node;function init:boolean;begin read(n); if n=-1 then exit(false); a[1,1]:=1; a
2013-11-04 21:43:49
536
原创 快速幂
{if p mod n=r,q mod n=t,then p*q mod n=(r*t) mod n,(p+q)modn=(r+t)mod n}{心血来潮,利用这个可以算自然对数的底}var a,b:longint;function ksm(a,b:longint):int64;begin ksm:=1; while b<>0do begin if ba
2013-11-04 21:43:47
550
原创 2253Frogger{dijkstra思想应用}{AC…
var n,count:longint; x,y:array[1..200] of longint; w:array[1..200,1..200] of real; f:array[1..200] of real; used:array[1..200] of boolean;function init:boolean;var i,j:longint;begin r
2013-11-04 21:43:45
548
原创 2349Arctic Network{最小生成…
var c,s,p,i:longint; x,y:array[1..500] of longint; w:array[1..500,1..500] of real; d:array[1..500] of real; used:array[1..500] of boolean;procedure init;var i,j:longint;begin fillchar
2013-11-04 21:43:43
496
转载 差分约束{转}
{http://blog.youkuaiyun.com/xuezhongfenfei/article/details/8685313}差分约束系统X1 - X2 X1 - X5X2 - X5X3 - X1 <=5X4 - X1 X4 - X3 X5 - X3 X5 - X4 不等式组(1) 全都是两个未知数的差小于等于某个常数(大于等于也可以,因为左右乘以-1就可以
2013-11-04 21:43:41
516
原创 1548 Robots{偏序集}{WA求解}
var a,b,n:longint; x,y:array[1..600] of longint; f:array[1..600] of longint;procedure swap(var a,b:longint);var t:longint;begin t:=a;a:=b;b:=t;end;procedure qsort(l,r:longint);var i,
2013-11-04 21:43:38
665
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人