![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
2017寒假
Kesiruto
猜猜我写什么??
展开
-
HOJ1867 经理的烦恼~~~
题目大意Jerry是一家公司销售部门的经理。这家公司有很多连锁店,编号为1,2,3,... Jerry每天必须关注每家连锁店的商品数量及其变化,一项很乏味的工作。在连锁店比较少的时候,Jerry喜欢计算编号在[i,j]区间内的连锁店中商品数量为素数的有多少家,但是现在连锁店的数量急剧增长,计算量很大,Jerry很难得出结果。 输入格式题目有多组输入。每组输入第一行有三个整数:C 连锁店的数量 N原创 2017-07-05 16:34:55 · 258 阅读 · 0 评论 -
P1056 排座椅
题目描述教室有M行N列,坐在第i行第j列的同学的位置是(i,j),为了方便同学们进出,在教室中设置了K条横向的通道,L条纵向的通道。如果一条通道隔开了两个会交头接耳的同学,那么他们就不会交头接耳了。样例输入4 5 1 2 34 2 4 32 3 3 32 5 2 4样例输出22 4思路把每行每列的同学对数记录下来,贪心。var x,y,s:array[1..2000] of lo原创 2017-02-03 17:50:04 · 606 阅读 · 0 评论 -
P1125 笨小猴
题目描述在字符串中最多的字母减去最少的字母,如果是质数,就输出Lucky Word和那个质数,否则输出No Answer和0。样例输入error样例输出Lucky Word2思路O(n)用数组记录字母出现的个数,最大减最小,在判断是不是质数。var i,k,m,n:longint; a:string; t:array[97..122] of longint;begin r原创 2017-02-03 18:02:13 · 401 阅读 · 0 评论 -
P1003 铺地毯
题目描述在一个平面直角坐标中,铺了n张矩形地毯,编号从1到n,每张地毯按从大到小平行于坐标轴铺设,后铺地毯在先铺地毯之上。样例输入31 0 2 30 2 3 32 1 3 32 2样例输出3思路O(2n)把每一张地毯和问的坐标对比,统计包括坐标的最后一张地毯。var a,b:array[1..10000,1..2] of longint; n,i,x,y,ans:longi原创 2017-02-03 16:40:30 · 363 阅读 · 0 评论 -
P1868 饥饿的奶牛
题目描述有N个区间,选择任意区间但不能重复,输出最长区间。样例输入31 37 83 4样例输出5思路先以每个区间开始排序,方程:f[i]:=max(f[i],f[x[j]-1]+y[j]-x[j]+1);var f,x,y:array[0..4000000]of longint;procedure sort(l,r:longint);var i,j,mid,s:longi原创 2017-02-11 22:21:30 · 484 阅读 · 0 评论 -
P1209 [USACO1.3]修理牛棚 Barn Repair
题目描述 所有的牛棚有相同的宽度。木材供应商将会供应他任何他想要的长度,但是只能提供有限数目的木板。将他购买的木板总长度减到最少。样例输入4 50 183 4 6 8 1415 16 17 2125 26 27 30 31 40 41 42 43样例输出25思路将有牛的牛棚按编号排序后可以枚举模板间隔k,来使相邻两块有牛牛棚链接,并标记,直到所用木板数等于m原创 2017-02-11 22:27:22 · 421 阅读 · 0 评论 -
P1226 取余运算||快速幂
题目描述输入b,p,k的值,求b^p mod k的值。样例输入2 10 9样例输出2^10 mod 9=7思路快速幂O(log₂N)var b,p,k,ans:int64;procedure ksm(x:int64);begin if x=1 then exit; if x mod 2=0 then begin ksm(x div 2);ans:=ans*ans m原创 2017-02-09 11:30:44 · 264 阅读 · 0 评论 -
P1049 装箱问题
题目描述有一个箱子的容量为V,有N个物品,每个物品都有一个体积,要求在这N个物品中使箱子剩余的体积最小。样例输入2468312797样例输出0思路O(nm)连续写了4题关于动态规划的题目,但毫不例外的都是01背包,能不能再简单一点,我也是没看出有多少改变。跟采药相比也就少了个每个物品的价值,但物品的体积也可以看作是它的价值,方程就变成了:f[j]:=max(f[j],f[j原创 2017-02-08 13:45:17 · 576 阅读 · 1 评论 -
P1219 八(N)皇后
题目描述有一个N*N的棋盘,有N个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线上至多有一个棋子,输出前三个解和解的总数。样例输入6样例输出2 4 6 1 3 53 6 2 5 1 44 1 5 2 6 34思路O(2^n)我要严重吐槽这个题目,那个n还是我补上的。使用多个数组记录列和对角线的情况,若皇后可在对角线上连成直线,则横纵坐标之和、之差均相等。var d:原创 2017-02-08 12:42:37 · 295 阅读 · 0 评论 -
P1017 进制转换
题目描述给出一个十进制数N,转化为负进制-R,若基数超过10,则按十六进制的方式处理。样例输入30000 -2样例输出30000=11011010101110000(base-2)思路倒除法,注意的是负整数取模后是正整数取模的相反数,所以要减去它的除数。var n,i,x,y:longint; s:string;begin readln(n,x); write(n,'=');原创 2017-02-03 17:00:09 · 527 阅读 · 0 评论 -
P1067 多项式输出
题目描述一元n次多项式:f(x)=AnX^n+An-1X^n-1+...+A1X(An<>0)其中,aixi称为i次项,ai称为i次项的系数。给出一个一元多项式各项的次数和系数,输出该多项式.样例输入5 100 -1 1 -3 0 10样例输出100x^5-x^4+x^3-3x^2+10思路先判断a[i]数组的正负,输出符号,再输出系数和‘x',最后输出幂次方。var i,n,k:原创 2017-02-03 17:25:26 · 650 阅读 · 0 评论 -
P1781 宇宙总统
题目描述给出n个的总统候选人的票数(100位数字),输出第几人的票数最大和他的票数。样例输入59876512365879541022356985678样例输出41022356思路O(n)用字符串比较两个数字。(1)长度长的数字一定大。(2)如果长度相同,直接两个字符串比较。var i,j,n:longint; s,a:string;begin readln(n原创 2017-02-04 13:16:58 · 278 阅读 · 0 评论 -
P1068 分数线划定
题目描述有N名选手,以成绩排第m*1.5名选手的成绩作为分数线,输出分数线以上选手的编号和成绩,如果成绩相同,编号由小到大排序。样例输入6 3 1000 90 3239 88 2390 95 7231 84 1005 95 1001 88样例输出88 5 1005 95 2390 95 1000 90 1001 88 3239 88 思路O(N^2)排序,按题意模拟。原创 2017-02-04 13:11:21 · 536 阅读 · 0 评论 -
P1059 明明的随机数
题目描述生成了N个1到1000之间的随机整数,重复的数只留下一个。然后再把这些数从小到大排序。样例输入1020 40 32 67 40 20 89 300 400 15样例输出815 20 32 40 67 89 300 400思路把相同的数变为0,冒泡排序。var i,j,k,l,f:longint; a:array[1..100] of longint;begin re原创 2017-02-04 11:40:53 · 332 阅读 · 0 评论 -
P1177 快速排序
题目描述利用快速排序将N个数从小到大排序后输出。样例输入54 2 4 5 1样例输出1 2 4 4 5思路理想O(n log n)最差O(n^2)快速排序:首先任意选取一个数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这是一趟快速排序。var i,j,n:longint; a:array[1..1000000] of longint;procedure原创 2017-02-04 11:34:48 · 674 阅读 · 0 评论 -
P1098 字符串展开
题目描述在输入的字符串中,用连续递增的字母获数字串替代其中的减号。(1)出现了减号“-”,减号两侧同为小写字母或数字,且按照ASCII码的顺序,减号右边的字符大于左边的字符。(2) p1=1时,填充小写字母;p1=2时,填充大写字母。p1=3时,填充的字母个数相同的星号“*”。(3) p2=k表示同一个字符要连续填充k个。(4) p3=1表示维持原来顺序,p3=2表示采用逆序输出。(5)原创 2017-02-04 11:28:42 · 529 阅读 · 0 评论 -
P1086 花生采摘
题目描述在一块矩形的花生田中,找到一株最多的花生,再找出剩下的花生中最多的一颗,依此类推,路距离田地距离为1。样例输入6 7 210 0 0 0 0 0 00 0 0 0 13 0 00 0 0 0 0 0 70 12 0 0 0 0 00 0 0 9 0 0 00 0 0 0 0 0 0样例输出37思路O(nm)先找到最多的一株花生,如果时间够回到起点,就再找到剩下的最多的花生,原创 2017-02-04 11:03:27 · 420 阅读 · 0 评论 -
P1042 乒乓球
题目描述每行有20个字母,W代表华华得一分,L代表对手得一分,有不知道多少行,知道E结束,分别输出11分制和21分制下的结果。样例输入WWWWWWWWWWWWWWWWWWWWWWLWE样例输出11:011:01:121:02:1思路模拟,在到达21分或11分制如果相差两分或以上才算一方胜利。var i,j,l,m,n:longint; s,a:ansistring;begi原创 2017-02-03 20:06:44 · 342 阅读 · 0 评论 -
P1031 均分纸牌
题目描述 n堆纸牌,用最少的移动次数使每堆纸牌数都一样多。样例输入49 8 17 6样例输出3思路计算出平均值,把多的那堆纸牌推向少的那堆纸牌。var i,j,k,l,z,x,w,r,s:longint; a:array[1..100] of longint;begin readln(l); for i:=1 to l do begin read(a[原创 2017-02-03 18:32:16 · 469 阅读 · 0 评论 -
P1403 [AHOI2005]约数研究
题目描述求出所有1到n每个数字约数个数的和。样例输入3样例输出5思路O(n)一开始想过筛素数,也想过有没有什么规律,然后想到了从1~n去枚举每个约数有多少个。发现约数包含某个数字的个数是n div 那个数字,然后规律就出来了。var i,k,n:longint;begin readln(n); for i:=2 to n do k:=k+n div i; writ原创 2017-02-08 12:27:51 · 271 阅读 · 0 评论 -
P1996 约瑟夫问题
题目描述n个人围成一圈,从第一个人开始报数,数到m的人出列,再由下一个人重新从1开始报数,数到m的人再出圈,依次类推,直到所有的人都出圈,请输出依次出圈人的编号。样例输入10 3样例输出3 6 9 2 7 1 8 5 10 4思路O(nm)还在冥思苦想要模拟的小伙伴们要哭了,这道题早已有公式啦~~~但是这道题不能直接输出最后那个人,要输出顺序=_=。var a:array[1..100原创 2017-02-08 12:19:36 · 505 阅读 · 0 评论 -
P1223 排队接水
题目描述有n个人在排队接水,每个人接水的时间为Ti,使得n个人的排队平均等待时间最小。样例输入10 56 12 1 99 1000 234 33 55 99 812样例输出3 2 7 8 1 4 9 6 10 5291.90思路O(n^2)很容易就看出时间短的排在前面平均等待时间就越小,数据又不大,冒泡排序,时间累加起来除以人数,就是平均等待时间了。var i,j,k,n:long原创 2017-02-05 21:13:43 · 314 阅读 · 0 评论 -
P1181 数列分段Section I
题目描述有n堆果子,给出每堆果子的重量,消耗的体力是合并两堆果子共同的重量,求出把所有果子合并成一堆所消耗最少的体力。样例输入3 1 2 9 样例输出15思路O(n log n)运气就是这么巧,正好之前写了关于堆的资料,写的也是这一题,建立一个小根堆,取出堆顶,再找出剩下中最小的合并,重构小根堆,重复,直到只剩下两堆。const maxn=100000;type arr=array原创 2017-02-05 21:00:09 · 182 阅读 · 0 评论 -
P1538 迎春舞会之数字舞蹈
题目描述给出数字的大小k,用“ ”、“-”和“|”组成一系列数字。样例输入21234567890样例输出 -- -- -- -- -- -- -- -- | | | | | | | | | | | | | || | | | | | | | | | | | | | --原创 2017-02-05 20:30:30 · 365 阅读 · 0 评论 -
P1012 拼数
题目描述有n个数字,将它们连在一起组成一个最大的数字。样例输入313 312 343样例输出34331213思路O(n^2)这道题不能够直接排序,比如3和23,但是233比323大,所以采用两两组合再进行比较,字符串会自行按照字典序比较。var n,i,j,x:longint; s:array[0..233] of string;begin readln(n); for原创 2017-02-05 20:21:09 · 637 阅读 · 0 评论 -
P1071 潜伏者
题目描述给出原信息和加密后的信息,把其中每个字母在加密信息中找到对应的密字,再用来翻译司令部要求的信息,如果有某个字符没有相应的密字或有自相矛盾就输出“Failed”样例输入AA AB EOWIE样例输出Failed思路用数组储存每一个字符的密字,如果有重复或有位置空缺就Failed,否则翻译。var a,b,c:string;procedure init;begin rea原创 2017-02-05 11:51:28 · 333 阅读 · 0 评论 -
P1603 斯诺登的密码
题目描述输入一串只有六个单词和一个句号的句子,单词与单词之间空格隔开,把其中所有数字找出来(正常:one...ten,特殊:a both another first second third)把每个数字的平方排序(不足两位数的前面补零),组成最小的数字(开头去零)输出。样例输入Black Obama is two five zero .样例输出425思路O(N^2)按题意把所有数字平方后排序原创 2017-02-05 11:42:41 · 403 阅读 · 0 评论 -
P1093 奖学金
题目描述先按每个学生总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学排在前面。依次表示前5名学生的学号和总分。样例输入690 67 8087 66 9178 89 9188 99 7767 89 6478 89 98样例输出6 2654 2643 2582 2441 237思路O(5n)按题意排序,只原创 2017-02-04 20:46:50 · 487 阅读 · 0 评论 -
P1051 谁拿了最多奖学金
题目描述发放的奖学金共有五种,获取的条件各自不同:(1)8000元,期末平均成绩高于80分(>80),并且在本学期内发表1篇或1篇以上论文的学生均可获得;(2)4000元,期末平均成绩高于85分(>85),并且班级评议成绩高于80分(>80)的学生均可获得;(3)2000元,期末平均成绩高于90分(>90)的学生均可获得;(4)1000元,期末平均成绩高于85分(>85)的西部省份学生均可获原创 2017-02-04 20:28:42 · 505 阅读 · 0 评论 -
P1208 混合牛奶
题目描述给出Marry乳业每天对牛奶的需求量,还有每位奶农提供的牛奶单价和产量。计算采购足够数量的牛奶所需的最小花费。样例输入100 55 209 403 108 806 30样例输出630思路洛谷水数据,水范围,给了我们很多可能。暴力贪心,每次选单价最小的,直到完成任务var t,tt,i,m,n,a,b:longint; sum:array[0..10000] of in原创 2017-02-05 21:09:21 · 217 阅读 · 0 评论 -
P1094 纪念品分组
题目描述有n个礼物,给出每个礼物的价格,按价格分组,每组最多两个礼物,每组礼物价格不能超过M,求最小分多少组。样例输入100 9 90 20 20 30 50 60 70 80 90样例输出6思路排序,从小到大,看看小的和大的最多组成的个数。var n:longint; a:array[1..30000] of longint;procedure qsort(l原创 2017-02-06 15:21:45 · 326 阅读 · 0 评论 -
P1803 凌乱的yyy
题目描述有N场比赛,给出每场比赛的开始时间和结束时间,问最多参加多少场比赛。样例输入30 22 41 3样例输出2思路O(n log n)将结束时间或开始时间排序都可以,在另外一条序列中选择上一场比赛和下一场比赛开始时间不冲突的比赛加入。var n:longint; a,b:array[1..2000000] of longint;procedure qsort(l,r:l原创 2017-02-06 15:27:06 · 468 阅读 · 0 评论 -
P1164 小A点菜
题目描述小A到了一家餐馆,一共有n种菜,每种菜都有自己的价格,小A有M元,在钱一定要花完的情况下,有多少种点菜方式。样例输入4 41 1 2 2样例输出3思路O(nm)可以用暴力搜索,但无疑DP更加快,是个水水的01背包。f[j]:=f[j]+f[j-a[i]];var a,f:array[0..10000] of longint; n,m,i,j:longint;begin原创 2017-02-08 12:03:19 · 188 阅读 · 0 评论 -
P1048 采药
题目描述采每一株草药都需要一些时间,每一株草药也有它自身的价值,给你一段时间,在这段时间里,让采到的草药的总价值最大。样例输入70 371 10069 11 2样例输出3思路O(nm)和开心的金明一样都是01背包,对于每颗草药有两种选择,选或不选,再用滚动数组优化。var n,m,i,j:longint; a,b,f:array[0..1000]of longint;beg原创 2017-02-08 11:53:53 · 787 阅读 · 0 评论 -
P1060 开心的金明
题目描述金明希望在不超过N元的前提下,使每件物品的价格与重要度的乘积的总和最大。设第j件物品的价格为v[j],重要度为w[j],共选中了k件物品,编号依次为j1,j2,……,jk,则所求的总和为:v[j1]*w[j1]+v[j2]*w[j2]+ …+v[jk]*w[jk]。输出不超过总钱数的物品的价格与重要度乘积的总和的最大值。样例输入1000 5800 2400 5300 5400 3原创 2017-02-08 11:37:12 · 421 阅读 · 0 评论 -
P1255 数楼梯
题目描述有N阶楼梯,上楼梯是每次可以走一步或者走两步,问共有多少种走法。样例输入4样例输出5思路分析前几步发现是斐波那契数列第n+1位,由于数据太大要用高精加。var a,b,c:array[1..5000] of longint; n,l:longint;procedure gjj;var i:longint;begin fillchar(c,sizeof(c),0)原创 2017-02-08 08:54:48 · 523 阅读 · 0 评论 -
P2142 高精度减法
题目描述A-B,结果有可能是负数。样例输入21样例输出1思路高精减,如果第二个大于第一个要输出负号。var a,b,c:array[0..1000] of longint; x,y,z:ansistring; i,j,k,l:longint; t:boolean;begin readln(x); readln(y); if x=y then begin wri原创 2017-02-06 21:27:00 · 355 阅读 · 0 评论 -
P1303 A*B Problem
题目描述A*B,求两个数字的积。样例输入12样例输出2思路O(n^2)高精乘。var a,b,c:array[0..100000] of longint; x,y:ansistring; i,j,k,l:longint;begin readln(x); readln(y); if (x='0')or(y='0') then begin wr原创 2017-02-06 21:29:46 · 421 阅读 · 0 评论 -
P1601 A+B Problem(高精)
题目描述A+B(A,B<=10^500)。样例输入11样例输出2思路O(n)用数组储存位数,注意有进位。var a,b,c:array[1..1000] of longint; x:ansistring; i,j,k,l:longint;begin readln(x); l:=length(x); for i:=1 to l do val(x[l-i+1原创 2017-02-06 21:24:20 · 395 阅读 · 0 评论 -
P1147 连续自然数和
题目描述从1到N中,求出所有连续的自然数的和为M。样例输入10000样例输出18 142 297 328 388 412 1998 2002思路因为必须有两个数以上,所以从1到n div 2,如果累加的只超过m就退出。var i,j,l,m:longint; k:int64;begin readln(m); l:=m div 2; for i:=1 to l do原创 2017-02-06 21:14:32 · 236 阅读 · 0 评论