
codeforces
悲伤的牛奶
保持努力,保持乐观。
展开
-
Codeforces 484A
题目链接:点击打开链接大意:n组数据,每组给一个l, r,求出一个x,使得x >= l && x <= r,且x的二进制表示中1的数量最多(多种情况输出最小的)思路:ans初始化为二进制数位全为1、大于r的数。然后从最高位开始操作,变为1,若ans >= l && ans <= r,ans即为所求若ans>r,则向前一位,若ans<...原创 2018-04-16 20:57:31 · 256 阅读 · 0 评论 -
Codeforces Round #505 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final)
题目链接:CodeforcesB:题目大意:给你n个整数对,让你求是否有一个数,这个数对于每一个整数对,它是至少其中一个数的因子。1≤n≤150000, 2≤ai,bi≤2e9先说自己TLE的思路:选一对数,求出它们所有的因数,然后对其他的数进行核对。并且对于每一个要塞进vector的数据,检查会不会有它的因数已经在里面了。思路是对的,可惜优化的时候没处理好。比如直接来一个2e9的...原创 2018-08-20 15:21:43 · 203 阅读 · 0 评论 -
2014-2015 Northwestern European Regional Contest (NWERC 2014) Problem F Finding Lines
只有pdf题面,放个比赛链接http://codeforces.com/gym/101482题目大意:给n个点,一个p,问是否存在一条直线,让至少 ceil(n * p / 100) 个点在这条直线上。n <= 1e5, 20 <= p <= 100解题思路:因为p >= 20,那么如果要达到目标的话,这条线上至少有n/5个点,那么我们现在来选一对点,选中一个...原创 2018-09-25 22:05:49 · 476 阅读 · 0 评论 -
Educational Codeforces Round 52 (Rated for Div. 2) C. Make It Equal
题目链接:C - Make It Equal题目大意:给n个柱子,每个柱子的高度为a[i],给一个k >= n,切一次费用的价值是切下来的柱子个数,问最少切多少次能让所有柱子高度相等解题思路:给a排个序,从头到尾一层一层切需要的价值放在数组b里面,然后遍历一下b即可Ac Code:#include<set>#include<map>#includ...原创 2018-10-14 09:32:26 · 191 阅读 · 0 评论 -
Codeforces Round #515 (Div. 3)
题目链接:D - Boxes Packing题目大意:说了一堆,其实就是给你n个物品,每个物品重量w[i],m个箱子,每个箱子的体积是k。现在以这种算法开始装:能装就装下,不能就换箱子。问你一个最小的l,使能装下[l, n]这个区间的物品。输出最多的物品的数量。解题思路:**题,实际应用哪个**会把简单的说这么复杂,欺负非英文母语选手?被题意安排的明明白白,直接倒序模拟即可。Ac Co...原创 2018-10-15 21:03:25 · 235 阅读 · 0 评论 -
2017-2018 ACM-ICPC East Central North America Regional Contest (ECNA 2017) 部分题解
contest 链接:http://codeforces.com/gym/101673 A - Abstract Art求多个多边形并的面积,板子题,记小本本#include<bits/stdc++.h>using namespace std;#define mp make_pairtypedef long long ll;const double inf=1...原创 2018-10-09 22:08:13 · 1176 阅读 · 1 评论 -
2018-2019 ACM-ICPC, NEERC, Southern Subregional Contest, Qualification Stage K. Medians and Partitio
好久没写博客了呀,今天写一个。才不是因为今天发博客可以得一个勋章题目链接:http://codeforces.com/gym/101911/problem/K题目大意:给一个长度为n的数组和一个整数m,让你往中间插板子,问你最多有多少个子区间满足排完序后中位数大于等于m(序列长度为偶数的话去中间两个较小的一个)。解题思路:最开始想着划分树什么的,看了看别人的题解,用dp可以求解。=...原创 2018-10-24 21:02:41 · 689 阅读 · 0 评论 -
Codeforces Round #523 (Div. 2) C. Multiplicity
题目链接:C - Multiplicity 大意:给n个整数的数列,你可以从中去掉一些数得到一个新的数列,新的数列是好数列当对于每一个i,a[i] %i == 0。问你有多少个好数列解题思路:dp求解,二维的dp很好想,dp[i][j]表示前i个数中长度为j的好数列的个数,最后的答案就是sum(i:1->n)dp[n][i]更新也很好想到但是这样会MLE。注意到...原创 2018-11-24 14:00:22 · 210 阅读 · 0 评论 -
CodeForces 140F || Codeforces Round #100 F. New Year Snowflake
题目链接:http://codeforces.com/problemset/problem/140/F大意:给你n个点,你可以最多删除k个(可以不删),在所有的删法中,删完之后的所有点如果以坐标系上某一个点中心对称,输出所有这样子的中心点。数据范围:n :2e5, k : 10解题思路:把所有点按横坐标为第一优先级,纵坐标为第二优先级,从小到大排序。然后two pointers枚举区间...原创 2019-03-07 21:55:29 · 245 阅读 · 0 评论 -
Codeforces Round #558 (Div. 2) C2 - Power Transmission (Hard Edition) (two solutions)
Link:C2. Power Transmission (Hard Edition)大致的思想是先求出所有的直线(去除重复直线),先算出两两相交答案,然后再减去平行的直线。Solution1:利用直线的斜截式(y = kx + b,应该是叫这个吧),求出每个的k, b,这样就可以轻松完成去重,平行也很好判struct P{ db x, y;}a[maxn];struct ...原创 2019-05-11 19:19:00 · 224 阅读 · 0 评论 -
Codeforces Round #503 (by SIS, Div. 2) C. Elections
还是写个博客吧,整理一下思路题目链接:C. Elections大意:n个选民,m个党派,每个选民都有一个初始的投票意向,对于每个选民,你都可以花费ci来让他改变投票目标。问最少花费多少,能让编号为1的党派严格大于其他所有的党派选票。解题思路:枚举最终选票[1, n],对于每一次假设,计算出该选票要到达第一(也就是让比这个高的降低)的最小花费,维护ans为最小值即可。这种思路不容易想...原创 2018-08-12 23:25:17 · 190 阅读 · 0 评论 -
Codeforces Round #501 (Div. 3)
最近很是浮躁啊。。div3做出来两题。。rating1234->1230...究其原因还是因为自己菜吧不谈了,补个题B. Obtaining the String不多说,少了一个breakD. Walking Between Houses也不想说,爆intE1. Stars Drawing (Easy Edition)E2. Stars Drawing (Ha...原创 2018-08-02 22:58:31 · 224 阅读 · 0 评论 -
CodeForces - 810B :Summer sell-off
题目链接:http://codeforces.com/problemset/problem/810/B题目大意:有n天,每一天都有货物数量和顾客人数(顾客一人买一件货物,没有就直接走【并且很生气?】),你可以从中选择f天,这f天的货物数量翻倍,让你求最大能售出货物的件数。数据范围:1≤ n ≤ 105, 0 ≤ f ≤ n0 ≤ ki, li ≤ 109解题思路:先求出不翻倍的话能卖出的货物,再分...原创 2018-03-28 20:39:45 · 302 阅读 · 0 评论 -
CodeForces - 797B. Odd sum
题目链接:http://codeforces.com/problemset/problem/797/B题目大意:给你一个长度为n的整数序列,让你从中挑出一些数,使它们的和最大并且为奇数数据范围:1 ≤ n ≤ 1e5-1e4 <= a[i] <= 1e4解题思路:嘿嘿,其实不是我自己的思路,后来我发现自己的想法太麻烦了。(orz CF红名dalao)先判断每一个数,如果是奇数就存入ve...原创 2018-03-29 15:05:14 · 318 阅读 · 0 评论 -
Codeforces964 C. Alternating Sum
题目链接:点击打开链接题目大意:给一个序列只含'-'和 '+',长度为K,扩展成长度N+1(k为循环节长度),一个算式,(a +b)^n,去掉组合数,该位置的符号如果是+则为正,反之为负,求结果%mod的值(一定为正)。(这写的什么东西啊!)解题思路:先求出前k个加起来的ans,这时候可以想到用等比数列来求后面的, 公比q = (b ^k)/(a ^ k),由等比数列的前n项和公式得到最终答案就是...原创 2018-04-18 22:08:56 · 341 阅读 · 0 评论 -
Codeforces 961 C. Chessboard
题目链接:点击打开链接题目大意:给四个n*n的正方形矩阵,里面的数只有0和1,可以把它们任意组合成一个2n*2n的正方形(只能平移,不能旋转、翻转),你要改变其中的数,让正方形中的任意元素上下左右的元素都不与其相同,输出最小的改变次数。解题思路:用一个in数组保存输入的四个正方形,用一个cur数组保存大正方形,从所有情况中选出需要改变最少的就是ans。注:可以用next_permutation来改...原创 2018-04-19 19:31:16 · 330 阅读 · 0 评论 -
Codeforces Round #479 (Div. 3) D - Divide by three, multiply by two
题目链接:点击打开链接题目大意:开始有一个数x,你可以操作n-1次:1,除3(x必须被3整除才行);2,乘2。每操作一次,就把结果写在那个数的后面,所以最终你会得到n个数,现在你得到了一个乱序后的结果,让你输出可能的有序的游戏结果。解题思路:由于能整除3才可能除3,所以看这些数的因子中3的个数,多的放在前面,少的放在后面,如果一样的话(比如12, 6),就把小的的放在前面(6, 12才能行得通)。...原创 2018-05-07 19:57:31 · 172 阅读 · 0 评论 -
Codeforces Fountains
Cross Fire!题目大意:有一些喷泉,分为两种,一种只可以硬币购买,一种只可以用钻石购买,它们都有各自的价值,现在你有一些钻石和硬币,要买两座喷泉,问最大可获得的价值。解题思路:其实思路挺好出,就是复杂度不够,用树状数组优化即可感觉下一次出这样的我还是不会呀嘤嘤嘤代码:#include<cstdio>#include<cstdlib>#inc...原创 2018-07-19 21:09:29 · 220 阅读 · 0 评论 -
CodeForces - 835C Star sky
链接:点击打开链接题目大意:天空中(没有翅膀的痕迹?)有很多小星星,它们的初始亮度不一,且按周期性规律变化,并且最大亮度相等,让你求在某个时刻t,一个矩形区域中所有星星的亮度和。解题思路:二维前缀和维护一下。sum[i][j][k]表示点(i, j)右下角的所有点中亮度为k的亮度和,那么初始化就是sum[i][j][k] = sum[i-1][j][k] + sum[i][j-1][k...原创 2018-07-28 20:14:21 · 222 阅读 · 0 评论 -
Codeforces Round #499 (Div. 2) : C. Fly
题目链接:嘻嘻嘻题目大意:不想说解题思路:很容易就能想到ans = ret * m - m, ret = , 然而long long 也装不下这个大数,如何处理呢?我们可以求出1 / ret,然后ans = m / ret - m。这思路真**。基本上就是失精也没关系,我得把它存下来(然而计算机的强大使它可以精确到小数点后六位的)代码:#include<set&...原创 2018-07-28 13:06:23 · 198 阅读 · 0 评论 -
Codeforces Round #502 (in memory of Leopoldo Taravilse, Div. 1 + Div. 2)
C. The Phone Number题解:把n分成m块,块内递减,块间递增,这样和就是(m + (n / m)向上取整),问题转换为求m == ? 这个式子最小。答案是m == sqrt(n),能感觉到,是基本不等式还是啥。。传说中的瞎搞题吧,想不到分块#include<set>#include<map>#include<cmath>...原创 2018-08-10 00:52:23 · 318 阅读 · 0 评论 -
Educational Codeforces Round 73 (Rated for Div. 2) E. Game With String
E. Game With StringProblem Link :E. Game With StringSolution:翻译:分四种情况:1,当存在一个线段长度大于等于b小于a,Bob必胜;(因为这个线段只有Bob能覆盖)2,当至少有两个线段长度至少是2b,Bob永远可以划分其中的一个到情况1从而必胜;(此时Bob可以留一个b给自己)3,当没有线段长度至少是2b...原创 2019-09-20 15:16:55 · 222 阅读 · 0 评论