随笔分类 - 贪心
摘要:洛谷地址:https://www.luogu.com.cn/problem/CF425A 题意: 给一个长为 n 的序列,以及交换次数 k,每次可以在原先的序列 中任意交换两个数 交换后找一个最大子串和,输出其可能的最大值。 1 <= n <= 200; 1 <=k <=10 解析: n=200,可
阅读全文
摘要:洛谷地址:https://www.luogu.com.cn/problem/CF985C 题意: 你有一共m=n*k个木板。第i个木板的长度为ai。你必须用其中的每k条木板组成n个木桶。每条木板只能且必须属于一个木桶。我们把第j个木桶的最短的木板长度作为这个木桶的容积vj 你想要让这组合起来的n个木
阅读全文
摘要:洛谷地址:https://www.luogu.com.cn/problem/CF909A 来自洛谷的题意: 给定两个用空格分隔的字符串,分别取两字符串的任意非空前缀,将两前缀合并为一个新的字符串,求可行字典序最小的字符串。 解析: 给定s1 s2 已知取两者非空前缀,所以s2只需要取首就可以了。 那
阅读全文
摘要:地址:https://www.luogu.com.cn/problem/P1208 解析: 单价p,可完成数x 要想保证花费最少,有贪心思路: 1:单价从小到大排列。保证花费最小 2:单价相同,可完成数从大到小排列。保证能尽量多的用花费少的一方。 #include<cstdio> #include<
阅读全文
摘要:地址:https://www.luogu.com.cn/problem/P1090 解析: 要想最后花费最少,肯定每次要加入两个最小值。 所以贪心思路,就是每次取剩余堆的两个最小值相加,相加以后,把它放入队列。 使用优先队列实现: priority_queue<int,vector<int>,gre
阅读全文
摘要:地址:http://acm.hdu.edu.cn/showproblem.php?pid=2570 解析: 想让最后的体积最大,肯定是先加入浓度小的。 所以贪心思路是,浓度从小到大加入。 注意: n种同体积的浓度分别为a,b,c...那么混合以后浓度为:(a+b+c+..)/n 所以从小到大加入即可
阅读全文
摘要:地址:https://www.luogu.com.cn/problem/P2082 解析: 刚开始自己写的代码: 我对L递增排列,L相等按R递增排列。 直接逐个判断,相交,或者不相交。 但让每一个区间只和它前一个区间发生关系,显然是错误的。 比如: [1,5] [2,4] [3,6] 答案应该是6,
阅读全文
摘要:地址:http://acm.hdu.edu.cn/showproblem.php?pid=2037 解析: 每个节目,有开始时间和结束时间。 考虑3个贪心策略: 1:节目持续时间最短 2:最早开始 3:最早结束 可以发现,对于第2种,如果某个节目最早开始,但是迟迟不结束,那么其他节目就没得看了。 第
阅读全文
摘要:地址:http://codeforces.com/contest/1366/problem/A 题意:给出a,b的数目 a b 1a+2b->得一个奖励 2a+1b->得一个奖励 求最大奖励数 解析: 规定:a<=b 肯定对大的来讲,尽量让它先-2。 那么如果得a个奖励,那么消耗2*a个b,如果b>
阅读全文
摘要:地址:http://codeforces.com/contest/1362/problem/A 题意: 给出a,b a的操作:*2,*4 , *8 /2 /4 /8 问达到目标b最少需要多少步,达不到输出-1 解析: 贪心,如果a*x==b,那么这个x/(操作值)==步数。 这个步数,肯定是操作值越
阅读全文
摘要:A:http://codeforces.com/contest/1355/problem/A 题意: 每次加这个数每一位的最大和最小的乘积,求第K次的结果。 解析: 直接模拟即可,但是有一个TLE点,就是当最大或最小=0时,就需要终止了,因为再加下去值就不变了。 #include<iostream>
阅读全文
摘要:题意:一辆车最多坐4人,同一组要坐在同一辆车上,不同组可以坐在同一辆车上,求最少需要的车辆数。 解析:WA了4次,因为我贪心贪错了,对组员为1 的来说,应该先往组员=3的车上补,而不是先往2的车上补。因为组员=2的组数可能会把几辆车塞满,这个时候没法补。而对于组员=3的,一定可以往上补。 #incl
阅读全文
摘要:地址:http://codeforces.com/contest/1337 题意:给出a,b,c,d。从a~b~c~d三个区间内各找一个数,构成三角形。 解析:根据三角形的性质,输出a,c,c是一个可行解。记得从小到大输出,wa了1次。 #include<iostream> #include<vec
阅读全文
摘要:传送门:http://codeforces.com/problemset/problem/867/E 题意:根除n个股票,刚开始手里没股票。买入卖出,求出最大收益。 解析:贪心+优先队列(从大到小)。只是让我们求最大收益,所以我们把它们全都借走而且不付钱。怎么想,我借走股票,以后如果遇到高价可以卖,
阅读全文
摘要:题目地址 http://codeforces.com/contest/1196/problem/B B. Odd Sum Segments time limit per test 3 seconds memory limit per test 256 megabytes input standard
阅读全文
摘要:You have a positive integer m and a non-negative integer s. Your task is to find the smallest and the largest of the numbers that have length m and su
阅读全文
摘要:Wooden Sticks Problem Description There is a pile of n wooden sticks. The length and weight of each stick are known in advance. The sticks are to be p
阅读全文

浙公网安备 33010602011771号