
模拟
文章平均质量分 73
hehe_54321
嘻嘻嘻
展开
-
洛谷 P1003 铺地毯
铺地毯var a1:array[0..10002,1..4] of longint; a,b,g,k,i,x,y,n,ans:longint; begin readln(n); for i:=1 to n do begin readln(a,b,g,k); a1[i,1]:=a;a1[i,2]:=b;a1[i,3]:=g+a;a1[i,4]:=k+b; end;原创 2017-07-13 09:22:36 · 226 阅读 · 0 评论 -
洛谷 P1067 多项式输出
P1067 多项式输出 模拟,很坑的那种 var i,n:longint; a:array[1..105] of integer; begin readln(n); for i:=1 to n+1 do read(a[i]); if a[1]=-1 then write('-'); if a[1]<-1 then write(a[1]); i原创 2017-07-13 10:45:56 · 320 阅读 · 0 评论 -
洛谷 P1042 乒乓球
P1042 乒乓球var s:string; a1:array[1..50000] of char; i,n,x,y:longint; procedure f1; begin while not eof do begin readln(s); for i:=1 to length(s) do begin if s[i]='E' then exit;原创 2017-07-13 10:57:33 · 458 阅读 · 0 评论 -
洛谷 P1086 花生采摘
P1086 花生采摘 说白了就是将植株按花生数从大到小排序,然后按排序后的顺序摘,每次摘前计算能否在摘后回到路边,如果能就将ans加上该植株花生数,如果不能就直接输出dang var a:array[1..405,1..3] of integer; i,j,x,y,m,n,k,n1,t1,ans,time:longint; procedure sort(l,r:longint); var i,原创 2017-07-13 11:02:16 · 326 阅读 · 0 评论 -
Party Games UVA - 1610
点击打开链接转载 2017-08-02 18:49:35 · 316 阅读 · 0 评论 -
从一个n位数中选出m位按顺序组成新数并使其最大 || Erasing and Winning UVA - 11491
就是从n位数中取出n-d个数字按顺序排成一排组成一个新数使得其最大 算法: 从前往后确定每一位。找第i位时,要求后面留下d-i位的空间, 因此第i位应该从第i-1位原来位置+1到第d+i位寻找 用线段树确定区间最大值(其实直接用优先队列就行了,可能会多一些多余的出队操作) 更好的算法: ***引用 后来看到一个博客写的特别巧妙, 每读取一个字符,如果ans中有字符,且如果删除一个字原创 2017-08-03 12:51:06 · 792 阅读 · 0 评论 -
洛谷 P2312 解方程
题目 首先,可以确定的是这题的做法就是暴力枚举x,然后去计算方程左边与右边是否相等。 但是noip的D2T3怎么会真的这么简单呢?卡常卡的真是熟练 你需要一些优化方法。 首先可以用秦九韶公式优化一下方程左边的计算方法: 左边=(((..(a[n]*x)+a[n-1])*x+..+a[1])*x+a[0] 然后我就试着直接去算: #include typedef long long原创 2017-11-05 16:51:00 · 502 阅读 · 1 评论