
codevs题解
文章平均质量分 57
priority_ez
这个作者很懒,什么都没留下…
展开
-
codevs1060
题目地址:http://codevs.cn/problem/1060/分析:动态规划代码:varf:array[0..2500,0..2500] of double;i,j,n:longint;beginreadln(n);n:=n div 2;f[0,0]:=1;for i:=1 to 2*n dof[i,0]:=f[i-1,0]/原创 2015-07-22 14:49:49 · 545 阅读 · 0 评论 -
codevs1000
题目地址:http://codevs.cn/problem/1000/n级水题。代码:var a, b:longint; begin readln(a,b); writeln(a+b); end.原创 2015-07-17 16:22:08 · 586 阅读 · 0 评论 -
codevs1001
题目地址:http://codevs.cn/problem/1001/分析:简单的并查集把边权按从小到大的顺序排好序枚举每一条边,把这条边的边权作为ans_max,接下来从这条边开始按顺序(从大到小)枚举每一条比它小的边,并且把这条边的两端点划分到一个联通块中,并且判断起点和终点是否在同一个联通块中,如果在同一个联通块中,那么当前枚举到的边的权值就是ans_min,然后更新当前原创 2015-07-17 16:24:12 · 944 阅读 · 0 评论 -
codevs1004
题目地址:http://codevs.cn/problem/1004/分析:搜索代码:const xp:array[1..4]of integer=(1,0,0,-1); yp:array[1..4]of integer=(0,1,-1,0);var a:array[0..5,0..5] of integer; s:strin原创 2015-07-17 16:36:38 · 863 阅读 · 0 评论 -
codevs1006
题目地址:http://codevs.cn/problem/1006/分析: 冒泡排序+暴力代码:var i,j,n,m,max,dx,k:longint;a:array[0..101]of longint;beginread(n);for i:=1 to n doread(a[i]);for i:=1 to n-1 dofor j:=i+1 to n do原创 2015-07-17 17:13:28 · 670 阅读 · 0 评论 -
codevs1007
题目地址:http://codevs.cn/problem/1007/分析:水题!代码:var k,n,i:longint; s:real;begin i:=1; s:=0; readln(k); while s<k do begin s:=s+1/i; inc(i); end; i:=i-1; writeln(i);原创 2015-07-17 17:15:55 · 595 阅读 · 0 评论 -
codevs1009
题目地址:http://codevs.cn/problem/1009/分析:【TAG】FLOYD,乘法原理,高精度【构思】求可变换数的个数,那么就是组合数学的内容,四个原理的应用;假如能知道每位的变换个数,那么乘起来就是结果;于是用FLOYD来求传递闭包,每个数可以变换成其他哪些数,然后累加;最后相乘,注意要高精度;原创 2015-07-17 17:20:12 · 1036 阅读 · 0 评论 -
codevs1010
题目地址:http://codevs.cn/problem/1010/分析:递推代码:const c:array[1..8]of integer=(1,1,-1,-1,2,2,-2,-2); d:array[1..8]of integer=(-2,2,-2,2,1,-1,-1,1);var b:array[-2..21,-2..21]of boolea原创 2015-07-18 11:37:14 · 414 阅读 · 0 评论 -
codevs1012
题目地址:http://codevs.cn/problem/1012/分析:辗转相除法+剪枝代码:var x,y,i,j,a,b,n,m:longint;begin readln(x,y); m:=0; for i:=x to y do for j:=x to y do if (i*j0原创 2015-07-18 11:41:14 · 411 阅读 · 0 评论 -
codevs1013
题目地址:http://codevs.cn/problem/1013/分析:由二叉树知识可知: 先序——根节点+左分支先序+右分支先序 中序——左分支中序+根节点+右分支中序 后序——左分支中序+右分支中序+根节点 由题——读入中序与后序——由后序最后一位知根节点——输出根节点——原创 2015-07-18 11:43:35 · 485 阅读 · 0 评论 -
codevs1014
题目地址:http://codevs.cn/problem/1014/分析:动态规划代码:var f:array[0..30,0..20000] of longint; w:array[1..30] of longint; i,j,n,v:longint;begin readln(v); readln(n); f原创 2015-07-18 11:45:21 · 496 阅读 · 0 评论 -
codevs1016
题目地址:http://codevs.cn/problem/1016/分析:我先来说说题目的意思。就从样例开始分析。输入是:3128 13030 12031 110-1 -115意思就是政府预期价是31元。成本28元,按成本销售的时候可以买130件产品。每个卖30元的时候可以卖120个,每个卖31元(输入的最高价位)的时候可以卖110个,每个原创 2015-07-18 11:49:57 · 536 阅读 · 0 评论 -
codevs1017
题目地址:http://codevs.cn/problem/1017/分析:数据比较弱,所以深搜也能轻松AC代码:program ex1017;var n,k,i:integer; t,ans:int64; a:array[1..40] of char;function s(sta,en:integer):int64;//这个函数用来计算原创 2015-07-18 11:53:34 · 543 阅读 · 0 评论 -
codevs1020
题目地址:http://codevs.cn/problem/1020/分析:枚举+floyd代码:#include #include #define MAXN 500 #define INF 10000000 int g[MAXN][MAXN],n; //g[i][j]=从i到j的最短路 int min(int a,int b) {原创 2015-07-18 11:58:52 · 411 阅读 · 0 评论 -
codevs1023
题目地址:http://codevs.cn/problem/1023/分析:水题代码:var a,b:array[1..100] of real; n,t:real; i,z:longint;begin read(z); for i:=1 to z do read(a[i],b[i]); n:=0; for i:=1 to原创 2015-07-18 12:07:49 · 333 阅读 · 0 评论 -
codevs1044
题目地址:http://codevs.cn/problem/1044/分析:贪心+动归代码:Var h,sum:array [1..20] of longint; n:longint;Procedure input; begin n:=0; while not eoln do begin inc(n);原创 2015-07-20 10:59:24 · 522 阅读 · 0 评论 -
codevs1045
题目地址:http://codevs.cn/problem/1045/代码:vari,n,js,c,k:longint;a,b:array[1..10000]of longint;s:string;beginreadln(n);readln(s);fillchar(a,sizeof(a),0);for i:=1 to length(s) dobegin原创 2015-07-20 11:02:33 · 461 阅读 · 0 评论 -
codevs1057
题目地址:http://codevs.cn/problem/1057/分析:水题代码:var n,m,i,a:longint;beginfor i:=1 to 12 dobeginreadln(n);m:=m+300-n;if(ma:=a+m div 100;m:=m mod 100;end;原创 2015-07-22 14:28:21 · 570 阅读 · 0 评论 -
codevs1052
题目地址:http://codevs.cn/problem/1053/分析:模拟代码:var s:string;a:array['a'..'z'] of longint;i,j,t,n:longint;k:char;d:array[1..100000] of longint;function cf(x:longint):boolean;var i,y:lon原创 2015-07-22 14:04:58 · 783 阅读 · 0 评论 -
codevs1048
题目地址:http://codevs.cn/problem/1048/分析:动态规划代码:var i,j,k,n:longint; x,a:array[0..100,0..100] of longint; function min(a,b:longint):longint; begin if a>b then ex原创 2015-07-22 11:14:26 · 614 阅读 · 0 评论 -
codevs1058
题目地址:http://codevs.cn/problem/1058/分析:动态规划代码:var a,b,c:array[1..100]of longint; max,i,j,n:longint; begin readln(n); for i:=1 to n do read(a[i]); for i:=1 to n do for原创 2015-07-22 14:31:44 · 3065 阅读 · 0 评论 -
codevs1055
题目地址:http://codevs.cn/problem/1055/分析:模拟代码:type qq=recordname:string;num:longint;end;var a:array[1..100] of qq;n,xb,i,j,max:longint;f:qq;t:boolean;s:string;beginreadln(n);for i:=1 to原创 2015-07-22 14:20:13 · 493 阅读 · 0 评论 -
codevs1054
题目地址;http://codevs.cn/problem/1054/分析:模拟代码:var a:array[1..50]of longint; m,n,o,i:longint; begin readln(n); for i:=1 to n do readln(a[i]); for i:=1 to n-1 do原创 2015-07-22 14:14:54 · 551 阅读 · 0 评论 -
codevs1053
题目地址:http://codevs.cn/problem/1052/分析:动态规划代码:var f,que,p:array[0..100]of longint; t:array[1..100]of longint; maxtime,mintime,i,j,n,pre,cur:longint; flag:array[1..100]of boolean;原创 2015-07-22 14:00:01 · 531 阅读 · 0 评论 -
codevs1050
题目地址:http://codevs.cn/problem/1050/分析:最开始想直接用状压做,发现怎么都想不出来,就和当年的多行多米诺骨牌(这道题至少最后还是把普通状压做法看懂了)。直到听到 @tsyao 神牛说这个是轮廓线状压。大白书(LRJ算法竞赛)第六章第一节好像就是吧。 主体思路:一。做法思路比较简单,写起来蛋疼死我了= =,用四原创 2015-07-22 11:19:40 · 1090 阅读 · 0 评论 -
codevs1059
题目地址:http://codevs.cn/problem/1059/分析:模拟代码:vart,t1:boolean;n,i,j,c:longint;a,b:array[1..1000] of longint;beginreadln(n);for i:=1 to n do read(a[i]);for i:=n+1 to 2*n do a[i]:=a[i原创 2015-07-22 14:35:19 · 659 阅读 · 0 评论 -
codevs1056
题目地址:http://codevs.cn/problem/1056/分析:水题代码:var n: qword;begin readln(n); writeln((n-5)*(n-4)*(n-3)*(n-2)*(n-1)*n/6/5/4/3/2/1:0:0); readln;end.原创 2015-07-22 14:24:19 · 539 阅读 · 0 评论 -
codevs1051
题目地址:http://codevs.cn/problem/1051/分析:——题目难度:提高一等1、数据结构(Data Structure):①Hash(用map或人工)②Stack(栈)2、算法(Algorithm): DP 穷举3、题目简述:给出了n个按长度排序单词,如果某单词i是某单词j的前缀,i->j算一次接龙(两个相同的单词不能算接龙)原创 2015-07-22 11:24:53 · 1092 阅读 · 1 评论 -
codevs1049
题目地址:http://codevs.cn/problem/1049/分析:只要判断其是否连通就行了,找到连通的最少步数。代码:#include #include #include #include using namespace std;typedef int State[5][5];State map,sta[500005],visit;int原创 2015-07-22 11:16:34 · 604 阅读 · 0 评论 -
codevs1047
题目地址:http://codevs.cn/problem/1047/分析:用数组 A 存放当前枚举好的邮票各种面值DP(A)函数 表示数组A里的邮票面值所能取得的最大的连续的面值;于是我们深搜要枚举的邮票面值的 上限就为DP(A)+1, 其下限为 前一个枚举的面值加1.即a[step-1]+1;代码:type arr=array[0原创 2015-07-22 11:09:53 · 647 阅读 · 0 评论 -
codevs1046
题目地址:http://codevs.cn/problem/1046/分析:1.如果在能到达的加油站中,油费有比当前加油站便宜的,就到一个距离最近且油费比当前加油站便宜的加油站去,在当前加油站加上刚好能到那个加油站的油,使到达加油站时油用光。 2.如果在能到达的加油站中,油费没有比当前加油站便宜的,那就在此加油站加满油,然后开到能到达的加油站中油费最小的加油站去。原创 2015-07-21 16:19:41 · 634 阅读 · 0 评论 -
codevs1026
题目地址:http://codevs.cn/problem/1026/分析:常规的宽搜,每个方向上都一路走到’X‘为止如果不加以判重,理论上是对的,但是会做大量无用的计算,要么超时要么数组越界,只能得30分不过,这里的判重并不是指每个点只能经过一次,而是指在一层搜索中,每个点只能经过一次,搜索下一层时,判重数组要清空代码:type node=reco原创 2015-07-18 12:24:50 · 525 阅读 · 0 评论 -
codevs1027
题目地址:http://codevs.cn/problem/1027/代码:varw:array[1..20,1..20] of boolean;ID:array[1..20] of string;nm,ans:array[1..20] of string;room2,used:array[1..20] of boolean;r,tr:array[1..20] of long原创 2015-07-18 12:27:03 · 579 阅读 · 0 评论 -
codevs1005
题目地址:http://codevs.cn/problem/1005/分析:搜索代码:var f:array [0..9,0..11] of longint; a,x:array [0..11] of longint; i,j,m,n,l:longint;procedure work(i:longint);var c,k,j:longint;原创 2015-07-17 16:39:42 · 911 阅读 · 0 评论 -
codevs1008
题目地址:http://codevs.cn/problem/1008/分析:深搜代码:varn,k,i,j,t,sum:longint;p:boolean;a:array[0..20]of longint;b:array[0..20]of longint;begint:=0;p:=false;read(n,k);readln;for i:=1 to n do原创 2015-07-17 17:17:59 · 535 阅读 · 0 评论 -
codevs1011
题目地址:http://codevs.cn/problem/1011/分析:递推代码:varn:longint;f:array[1..1010] of longint;a,b:longint;beginreadln(n);for a:=1 to n do beginf[a]:=1;for b:=1 to (a div 2) do f[a]:=f[a]+f[b];原创 2015-07-17 17:22:41 · 570 阅读 · 0 评论 -
codevs1015
题目地址:http://codevs.cn/problem/1015/分析:模拟代码:var i,j,k,n,x,y,max,min:longint; a,b,c,d,e:longint; ch,ch1,ch2:char; s,s1,s2:string;procedure jjj(ss:string;Var x,y原创 2015-07-18 11:48:03 · 895 阅读 · 0 评论 -
codevs1019
题目地址:分析:搜索代码:#include #include bool graph[1001][1001];int main(){ int t,n,m,a,b; bool trans = true; scanf("%d",&t); for(int i = 0;i t;i++){ trans = true; scanf("%d%d",&n,&m);原创 2015-07-18 11:58:11 · 395 阅读 · 0 评论 -
codevs1018
题目地址:http://codevs.cn/problem/1018/分析:深搜代码:var word:array[1..200] of string; w:array[1..200] of longint; i,n:longint; a:string; dragon:string;原创 2015-07-18 11:55:29 · 517 阅读 · 0 评论 -
codevs1021
题目地址:http://codevs.cn/problem/1021/分析:spfa代码:const maxn=1000; maxe=1000000;var d,h,q:array[0..2*maxn]of longint; v,next,w,pre:array[1..2*maxe]of longint; f:array[1..maxn]of bo原创 2015-07-18 12:03:32 · 489 阅读 · 0 评论