CF #552 div3】的更多相关文章

A - Restoring Three Numbers CodeForces - 1154A Polycarp has guessed three positive integers aa, bb and cc. He keeps these numbers in secret, but he writes down four numbers on a board in arbitrary order — their pairwise sums (three numbers) and sum o…
题目链接:http://codeforces.com/contest/1154/problem/G 题意:lcm是最小公倍数,本题就是给你一个数组(可能会重复),要求你判断出那两个数的最小公倍数最小,并输出这两个数的下标 分析:首先想重复,因为重复的话非常好整,最小公倍数就是它自己,所以我们可以先处理一遍,把出现过的重复的数最小的先设为答案(ans). 另外,记得初始化ans,这里有个坑,记得不要初始化为inf,因为最小公倍数是会爆int的,这点要注意. 然后再开始从1-ans遍历,对于每个数,…
题目链接:http://codeforces.com/contest/1154/problem/F 题意:一个商店有n个物品,每个物品只能买一次,同时有m种优惠,即一次买够x件后,这x件中最便宜的k件将免费 一个要买k个物品,求最小花费. 分析:如果没有优惠的话,就是一种很普通的背包问题,其状态转移方程就为f[i]=min(f[j],f[j]+剩下的i-j件物品的价格) 加上优惠券后只需要多一个g[x]数组来存储最佳优惠价格就好,具体请看代码 #include<bits/stdc++.h> u…
// 比赛链接:https://codeforces.com/contest/1196 // CF 2019.7.24 // 本想Div3手速场上分,结果卡在C题,掉了不少分. // 自闭了这么久,今天补题,吸取教训. A - Three Piles of Candies 题意: 比赛时候看了半天也没看明白,真是sb了. Alice与Bob要把三堆糖果尽可能地平分,两人轮流拿,最后一个拿的要保证两人一样多.否则的话如果最后谁多了就要扔掉,直到两人拿的糖果数量相等. 给定三堆糖果初始数量,求他们能…
题目链接:http://codeforces.com/contest/1154/problem/E 题意:两个人轮流取最大值与旁边k个数,问最后这所有的数分别被谁给取走了 分析:看这道题一点思路都没有,想不到模拟链表也该能想到线段树的啊 大部分AC代码是模拟链表的,写起来也更快,但我线段树很不熟,线段树的代码也写一份吧 另外,以后要养成一种习惯,除了主函数定义int main里有int外,其他地方统一用ll了,不要自己给自己挖坑..... 线段树: 意识到是线段树后我建树部分就拿不准怎么做,事实…
给出两个数a,b 求k     使得 a+k b+k有最小公倍数 a,b同时加上一个非负整数k,使得,a+k,b+k的最小公倍数最小 因为最小公公倍数=x*y / gcd(x,y),所以肯定离不开最大公约数了: 首先有个结论 gcd(x,y)=gcd(x,y-x) (y>x) 令c=gcd(x,y),那么x%c=0,y%c=0,(y-x)%c=0,所以gcd(x,y)=gcd(x,y-x) 因为题目中d=x-y的值不会变,所以我们就可以通过枚举d的因子,来凑a+k (d的因子也是(a+k)的因子…
题目链接:https://codeforces.com/contest/1475/problem/C 题意要求:需组成的2对,男的序号不能重,女的序号不能重 比如这例 输入: 行1--测试个数 行1` --男生个数p,女生个数q,成对数k 接下两行`--分别为这k对男女序号(上下为一对) 13 4 4 1 1 2 3 2 3 2 4 输出: 合法的组队对数 4 (1,2) and (3,4); (1,3) and (2,2); (1,3) and (3,4); (2,2) and (3,4).…
12.27 cf div3 解题报告 wxy.wxy,带上分拉,全场做了个无脑小白 比赛场地 A: T1,跟着模拟就好了 B: sort一遍之后 去除的数一定是a[1]或者a[n] 比较去除谁小就输出谁 C: 他的二进制有多少个1 如果>k说明无解 他的二进制位都放优先队列里 每次取出top,分成两半,再放回去,如果取出1或者为空,无解 直到size==k 输出就好了 wrong 1 re 3 : 数组开小了 D: 假设为a,b,c 则a的两个数一定包含一个b b中一定包含一个c 所以从1开始挨…
题目链接:Click here Solution: 看起来是贪心,其实不然... 我们定义\(f[i]\)表示仅覆盖\(1\sim i\)所需要的最小代价,那么对\(i\)为0的点来说,易得\(f[i]=min(f[i],f[i-1]+i)\) 考虑当\(i\)为1时怎么办,当\(i\)为1时,根据定义,我们不转移\(i\)这个位置的值,而转移\(i+k\)这个位置的值 很显然,只要\(1 \sim p(i-k\le p\le i+k-1)\)已被覆盖,那么再选\(i\),\(1\sim i+k…
http://codeforces.com/problemset/problem/552/C C. Vanya and Scales time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Vanya has a scales for weighing loads and weights of masses w0, w1, w2, ..…