随笔分类 - 贪心
摘要:DescriptionTo avoid unsightly burns while tanning, each of the C (1 ≤ C ≤ 2500) cows must cover her hide with sunscreen when they’re a...
阅读全文
摘要:. . . . .分析首先,分析题目,求最大值的最小化,直接联想到二分 然而关键是要怎么去高效的check我们考虑一个贪心的思路,能加的就加上,不能则新开一段,所以对于二分的值x,我们从数列a从前往后扫如果t大于了w,我们不加而是t重新赋值并且tj++,最后只需判...
阅读全文
摘要:题目描述某旅游区的街道成网格状。其中东西向的街道都是旅游街,南北向的街道都是林阴道。由于游客众多,旅游街被规定为单行道,游客在旅游街上只能从西向东走,在林阴道上则既可从南向北走,也可以从北向南走。阿龙想到这个旅游街游玩,他的好友阿福给了他一些建议,用分值表示所有旅游街...
阅读全文
摘要:题目描述 你就要去购物了,现在你手上有N种不同面值的硬币,每种硬币有无限多个。为了方便购物,你希望带尽量少的硬币,但要能组合出1到X之间的任意值。输入输出格式输入格式: 第一行两个数X、N,以下N个数,表示每种硬币的面值。【数据规模】 对于30%的数据,满足N≤3,X...
阅读全文
摘要:题目描述 Being a fan of all cold-weather sports (especially those involving cows),Farmer John wants to record as much of the upcoming wint...
阅读全文
摘要:Description 给出2个序列A={a[1],a[2],…,a[n]},B={b[1],b[2],…,b[n]},从A、B中各选出k个元素进行一一配对(可以不按照原来在序列中的顺序),并使得所有配对元素差的绝对值之和最大。 例如各选出了a[p[1]],a...
阅读全文
摘要:Description Input Output Sample Input2 1432 2 4321 2Sample Output4312 4321 Data Constraint . . . . . . . .分析 . . . . . . . . .程序:vart...
阅读全文
摘要:程序:varn,i,j,t,k,sum:longint;a:array[0..10000] of longint;begin assign(input,'lazhu.in'); reset(input); assign(output,'lazhu.o...
阅读全文
摘要:两人过桥(bridge.???)问题描述: 有 n 个人希望在晚上通过一座桥。在任何时刻,最多只能有两个人在桥上,并且必须 要带着手电筒才能通过桥。现在的麻烦是只有一个手电筒,所以必须安排某种顺序,使得手 电筒可以被带回去让更多的人过桥(手电筒必须由人带回,不可以从...
阅读全文
摘要:题意对于给定的一个长度为N的正整数数列A[i],现要将其分成连续的若干段,并且每段和不超过M(可以等于M),问最少能将其分成多少段使得满足要求。分析一个一个加上s,如果s>m,那么s就变成当前的数字,并且tj+1varn,m,tj,i,s,w:longint;begi...
阅读全文
摘要:题意给出Marry乳业每天对牛奶的需求量,还有每位奶农提供的牛奶单价和产量。计算采购足够数量的牛奶所需的最小花费。分析排序,最小价值优先取,太多了就退出循环,输出(之前的价值+还有多少需求*退出时的单价)。varn,m,i,j,tj:longint;a,b:array...
阅读全文
摘要:题意给出Marry乳业每天对牛奶的需求量,还有每位奶农提供的牛奶单价和产量。计算采购足够数量的牛奶所需的最小花费。分析排序,最小价值优先取,太多了就退出循环,输出(之前的价值+还有多少需求*退出时的单价)。varn,m,i,j,tj:longint;a,b:array...
阅读全文
摘要:题意安排比赛,且不能同时进行两个比赛,使比赛场数最多。分析这题用贪心的方法来做,先排序结束时间,再依次考虑各个活动。varn,i,tj,t:longint;a,b:array[0..1000000]of longint;procedure kp(l,r:longint...
阅读全文
摘要:这题有点像合并果子,只不过是合并最大的两个,并div k,再放进数组里排序。错了一个点,求大神看看。vara:array[0..10000]of int64;i,j,n,m:longint;procedure kp(l,r:longint);vari,j,mid:lo...
阅读全文
摘要:这题就是把长度排序,长度相等,就把重的放后面,最后看重量有一个地方下降了,就分组加一。vartj,n,i,j:longint;c,w,s:array[0..1000]of longint;begin readln(n); for i:=1 to n do ...
阅读全文
摘要:若今天的汇率比明天的汇率高,那么就换钱。varm:real;a:array[0..100]of longint;n,i:longint;begin readln(n); for i:=1 to n do readln(a[i]); m:=100...
阅读全文
摘要:从大到小排序,如果a[i]+a[j]没超过限制,就可以加tj,否则i就指向下一个。varw,n,i,j,tj:longint;a:array[0..30000]of longint;procedure kp(l,r:longint);vari,j,mid:longin...
阅读全文
摘要:varn,i,x,j:longint;s:array[0..20]of string;begin readln(n); for i:=1 to n do//因为数据之间有空格,所以先读入成数字,再变为字符串 begin read(x);...
阅读全文