codeforce
左佥都御史
这个作者很懒,什么都没留下…
展开
-
codeforce题集
刷一些困难度在2000左右的题。https://codeforces.com/problemset/problem/20/Cdijkstra 堆优化的纯模板要注意的地方,(1)那就是最短路算法在跑完之后,形成的d的顺序,如果我们从1开始走,很容易走差,而从最后走就不会有这个问题。(所以你看人家都是保存的pre数组)(2) 用spfa被卡了。#include <iostream&...原创 2019-10-22 21:19:53 · 189 阅读 · 0 评论 -
Educational Codeforces Round 30C-模拟&贪心-Strange Game On Matrix
http://codeforces.com/contest/873/problem/C 其实叫贪心有些牵强。这种题就是重在思维。 统计一个前缀和就好了。然后找到再每列中找到最大结果,把他们的结果加起来,并且把他们之前的1当作结果来求就行。。 感觉题意有点乱。。 如果是花费要求最小最重要,那么每一个多得到第一个为1的地方结束。 如果是获得最大。那么那么就全部好了。#include <bits原创 2017-10-26 18:10:30 · 176 阅读 · 0 评论 -
Codeforces Round #444 (Div. 2)-ABC
http://codeforces.com/contest/887/problem/B A 给定一个二进制数,问可否去掉一些数字,使其为64的倍数。 转化为只需要计算以某个1为开头,后面的0可否等于或者超过6个即可#include <bits/stdc++.h>using namespace std;/**/string s;int main(){ cin>>s; bo原创 2017-11-10 20:04:15 · 243 阅读 · 0 评论 -
Codeforces Round #437-贪心-C. Ordering Pizza
http://codeforces.com/contest/867/problem/C 给定m个人,他们吃第一种披萨,吃一片可以获得a的幸福值。 吃2片可以获得b幸福值。他们每个人必须要吃x片。 并且每一个披萨是s片。 问你如何在最少的披萨饼书目下,得到的幸福值最大。 我开始一位计算一下每个人饼数的sum。 然后除s 向上取整 然后计算一下最优解,如果最优解的饼的数目小于等于这数目,就是原创 2017-10-16 12:40:24 · 259 阅读 · 0 评论 -
Educational Codeforces Round 30(A+B)
http://codeforces.com/contest/873 战绩:只A了一道qwq 第二个用尺取法搞了好搞。一直不对。 A 给定一个数组,可以把k个值换成n,问你他们的和的最小#include <bits/stdc++.h>using namespace std;/**/const int maxn=1e4;int a[maxn];int main(){ int m原创 2017-10-24 21:46:25 · 210 阅读 · 0 评论 -
Educational Codeforces Round 31-k叉哈夫曼&优先队列&好题-D. Boxes And Balls
http://codeforces.com/contest/884/problem/D 给定一个n。 然后是n个不同颜色的球的数目。 开始这些球都在第一个盒子里。 你有下面的操作方法 ① 把某一个不空盒子种的球拿出来。 ② 把这些球按颜色装到3个或者2个盒子里,不同颜色可以装在一起。 而每次这种操作的花费为 你第一个操作拿出的球的数目。 问你如何操作,能够使花费最小。一点都不显然,这原创 2017-11-01 11:56:39 · 264 阅读 · 0 评论 -
Educational Codeforces Round 31
http://codeforces.com/contest/884 写了一个半小时,D题毫无感觉。就把D补了好了 A 给定每天的工作时间,再剩余时间读书,问你最少多少天能读完。 暴力加就行。#include <bits/stdc++.h>using namespace std;int t,m;int a[103];int main(){ scanf("%d%d",&t,&m);原创 2017-10-31 21:39:17 · 170 阅读 · 0 评论 -
Codeforces Round #437
http://codeforces.com/contest/867 A S和F表示俩城市。sf表示从s飞到f。 问是否从s到f 比f到s的次数更多。 模拟。 官方题解:直接判断第一位和最后一位就行。。我tm.#include <bits/stdc++.h>using namespace std;string s;int m;int main(){ cin>>m>>s;原创 2017-10-14 21:37:09 · 119 阅读 · 0 评论 -
codeforce443(div2)A+B
http://codeforces.com/contest/879 A 给定每个医生的工作时间为 a a+b a+b*2… 问你最少的截至天数,能够使我看完所有的医生。。 注意!医生的看是顺序的。即先看第一,再看第二。。输入的顺序。。 如果没有顺序,大概就是dp了把。稍后再更把。#include <bits/stdc++.h>using namespace std;/* 模拟。原创 2017-10-31 12:40:02 · 318 阅读 · 0 评论 -
Codeforces Round #440 (Div. 2,)-数学&规律- Maximum splitting
http://codeforces.com/contest/872/problem/C 给定m个数。 问每个数最多由多少个合数相加而来。。 1.n%4==0 这个时候直接输出n/4即可。 2.n%4==2 这个时候还是直接输出n/4,因为n%4==2相当于(n-6)%4==0,而6也是合数。 3.n%4==1 || n%4==3 那么n自然是个奇数,这个时候我们找个最小的奇合数处理下原创 2017-10-21 16:32:25 · 133 阅读 · 0 评论 -
Codeforces Round #440(div2)
http://codeforces.com/contest/872 A 给定俩数组,要求你输出一个数,这个数字至少包含每个数组中一个元素,并且要求最小 当两个元素有两个相同的,那么就输出就好了qwq 否则 输出俩数组中最小值组成的数。#include <bits/stdc++.h>using namespace std;/* 直接写。*/int m,n;int a;int vis[原创 2017-10-21 15:50:15 · 142 阅读 · 0 评论 -
Codeforces Round #432 -思维&素数筛魔改-D-Arpa and a list of numbers
http://codeforces.com/contest/851/problem/D 给定你m个数字,要求你有两种改动。结果是这些数字的gcd不是1. 改动① 删除这个数字,代价为x 改动② 增加1, 代价为y 要求你输出最少的改动花费。 枚举素数。然后求 是增加费用高还是 删除费用高。#include <bits/stdc++.h>using namespace std;typed原创 2017-10-20 18:54:59 · 203 阅读 · 0 评论 -
Codeforces Round #437 div2-贪心&好题-Buy Low Sell High
http://codeforces.com/contest/867/problem/E 之所以叫好题,无非代码特别短。。。 给定每天的价格,你可以买或者卖或者什么也不干。 问你最大的收益。 直接用优先队列是不可以的。(事实上没有过第二组样例) 对于一个数字,如果之后的的数字如果比这个数字还大,那么我们可以当作之前买了一个,然后现在卖出去,可是这样的做法存在问题,比如1,2,3,66,按照那原创 2017-10-16 19:57:12 · 169 阅读 · 0 评论 -
Codeforces Round #444 (Div. 2)-贪心&尺取-Ratings and Reality Shows
http://codeforces.com/contest/887/problem/D 一个模特有两种活动。 ① 拍照片,挣钱 a。 ②开演唱会,花费b 给定模特这两种工作的时间表。 模特可以选定一个时间举办一个座谈会,那么他拍照片的钱变c。开演唱会会花费d。 要求再模特座谈会之前和后len天 都不能赔钱。 要求你输出最小的座谈会天数。 没有输出-1.。 思路:枚举第i天作为 开始的茶原创 2017-11-11 20:11:11 · 1853 阅读 · 0 评论 -
2017-2018 ACM-ICPC Pacific Northwest Regional Contest (Div. 2)(蒟蒻解题)(全部都是水题和思维题)
2018.5.14:还有三个没有补,一个然颜色种类那个,一个求fn的,一个尺取能写的题(估计是个简单dp) http://codeforces.com/gym/101652 A problemN 给定一个字符串,问你判断该字符串的所有回文字串(注意单词consective,连续,故是回文子串)的长度是否都是奇数串,若是就输出Odd. 否则输出 Or not.思路:如果存在回文字串为偶...原创 2018-05-14 21:34:54 · 789 阅读 · 0 评论 -
Codeforces Round #461
没事做一下。 A:给定一个初始的玩具,有两种机器,①投入这个玩具,可以额外生成以个玩具和一个复制品(原来的玩具不会消失),②投入一个复制品,生成额外的两个复制品(原来的复制品也不会消失) 给你最后的玩具数目和复制品数目,问你最后能否生成。 思路:这种题还是要想明白再写,不然wa个好几发整的也挺尴尬的。#include <bits/stdc++.h>using namespa...原创 2018-05-06 16:52:47 · 184 阅读 · 0 评论 -
2017-2018 ACM-ICPC Southeastern European Regional Programming Contest (SEERC 2017)(蒟蒻解题版)
http://codeforces.com/gym/101669/attachments 蒟蒻只讨论四个题。(蒟蒻也觉得这样不好,但是现在蒟蒻实力有限并且暂时没有经历更加深入的研究这种东西,等蒟蒻有时间了一定把博客好好整整,) G:给定一个质点,和各个不同运动阶段的 加速度和加速度运行时间,问你如何设置各个时间段的前后顺序,能够使他走过的路程比初始时间段顺序最多? 贪心,每次把加速度大的时间...原创 2018-05-12 21:21:19 · 1622 阅读 · 0 评论 -
Codeforces Round #455 (Div. 2)-A,B,C,D,E
http://codeforces.com/contest/909 差F题了,有机会再补吧。F是思维题。 断断续续补了好久。。 比赛就做了A,B 。 A 给你两个名字,要求一个名字由这两个的前缀拼接顺序而成并且字典序最小。 把问题转化一下,想要长度最小,最后一个名字只取首字母。 然后在第一个名字内找比 二名字首字母小的字母#include <bits/stdc++.h>using n原创 2018-01-08 18:42:55 · 321 阅读 · 0 评论 -
Codeforces Round #450 (Div. 2)
http://codeforces.com/contest/900 好菜的说qwq A 给定一些点,问可否去掉一个点是,使这些点都在y轴的一侧。 四种情况。#include <bits/stdc++.h>using namespace std;int main(){ int m,a,b;int sum1=0;int sum2=0; scanf("%d",&m);原创 2017-12-15 16:55:28 · 128 阅读 · 0 评论 -
Codeforces Round #442 (Div. 2)-广搜&剪枝&技巧&好题-D. Olya and Energy Drinks
http://codeforces.com/contest/877/problem/D 给定一个点,问你从x点到y点,需要的最少时间。 没秒可以走小于等于k步。 暴力的bfs也是没谁了。。怎么可能过。 后来又写了一种方案,枚举每个点往前后左右的最大可移动距离,还是t (再51nod见过一道类似这种方法的。) 百度之,好多方法。 ① 剪枝,相同方向剪,维护局部最小距离剪。 ② 把vis原创 2017-11-06 17:43:32 · 181 阅读 · 0 评论 -
Codeforces Round #438
A 模拟,两种情况 ① 一种是情况1,要查找的单词和某个片段重合 ② 另一种是 情况2,要查找的单词和另一个单词相反。 或者 查找的单词 由两个单词构成#include <bits/stdc++.h>using namespace std;/* 第一个单词再后面 第二个单词再前面。*/string s;string w;int m;int main(){ whil原创 2017-11-05 17:25:49 · 140 阅读 · 0 评论 -
2008-2009 ACM-ICPC, NEERC, Southern Subregional Contest
http://codeforces.com/gym/101504 这场模拟太多了。 做了两道,B题没有想到什么算法(正解dfs)。 h题也是大模拟,并且很不好写。 k题是最小割(我都快俩月没写图论的玩意了除了搜索。。),没看题。 b可以补一下 k看看。h也看看。G 给定一个关系网(单向的),问你某个人的朋友的朋友有多少个。 (不能同时为他的朋友,只能是他朋友的朋友) 和今天中午补原创 2017-11-13 21:51:22 · 448 阅读 · 0 评论 -
2017 ACM Amman Collegiate Programming Contest-补题-H
11.12号写的,今天还有好几个没有补。 A,C,E都是非常简单的。 B题是思维,给定a和b两个串,b可以进行任意次操作:让两个相邻的字母转换位置。 求a和b的最长公共前缀。 发现只要b中出现了a的最大前缀出现的所有字母,就可以实现这个前缀。 所以我们只需要用map映射一下b串个字母出现的次数,把a从前到后扫一遍,统计即可。 队友想的。H题:开始的思路发现三重循环卡区间不可以。8e9左右的原创 2017-11-13 21:42:26 · 357 阅读 · 0 评论 -
Codeforces Round #442 (Div. 2) A+B+C
http://codeforces.com/contest/877 不告诉你们我写了几个qwq A 写了比较麻烦了, 不过差不多,用了find函数来找的。#include <bits/stdc++.h>using namespace std;string s;string w="Danil";string w2="Olya";string w3="Slava";string w4="原创 2017-11-03 18:01:12 · 148 阅读 · 0 评论 -
Codeforces Round #432 div2 A+B+C
http://codeforces.com/contest/851/problem/C 记得有几次的没写是div1还是div2,不过我tm怎么会做div1.。。 A 直接算。连循环都没有。 规律可以直接看下面的讲解。#include <bits/stdc++.h>using namespace std;typedef long long ll;ll n,k,t;int main()原创 2017-10-19 21:38:19 · 335 阅读 · 0 评论 -
Codeforces Round #439C 组合数-The Intriguing Obsession
http://codeforces.com/contest/869/problem/C 给定三种颜色气球的数量, 要求相同颜色或者在不能一个联通块里,或者最短距离大于等于3 问你图的数目。 思路:我们发现,如果要求大于等于3,那么就得三个都选。当不选的时候,就是一个孤立的。。 然后发现就是一个组合数。#include <bits/stdc++.h>using namespace std;原创 2017-10-10 23:08:18 · 214 阅读 · 0 评论 -
Codeforces Round #436 (Div. 2)
http://codeforces.com/contest/864 A。 比赛前两个人拿两张牌,不能相同的数字,然后比赛后这个牌堆中与他们手中数字相同的都是他们的牌。问他们俩可否拿走所有牌。 就是看是否一个是否 存在两种数,且数量相等均为N/2#include <bits/stdc++.h>using namespace std;const int maxn=1e5;int map1[1原创 2017-09-26 19:54:24 · 162 阅读 · 0 评论 -
Codeforces Round #430 (Div. 2)A,B
http://codeforces.com/contest/842 给定一个区间l到r a到b。、 问你是否存在一个整数 x属于l,r, y属于a-b,他们的比例x/y等于k。 因为x,y是整数,所以并不是连续的。不能通过计算这两个区间的最大斜率和最小斜率然后比较。 枚举一个区间即可。#include <bits/stdc++.h>using namespace std;/**/do原创 2017-08-31 19:21:48 · 194 阅读 · 0 评论 -
Educational Codeforces Round 27-搜索&技巧&异或-G. Shortest Path Problem?
http://codeforces.com/contest/845/problem/G 只能说太强了。 给定一个图,距离为边的异或值。问你异或值最小。 想象如果有多条不想交的路可以从1到达m。 我们可以先计算其中一条路线的异或值,在计算他们的异或前缀和。 然后这些和分别异或 第一条路,和第一条一起 取最小值。 #include<cstring>#include<cstdio>#i原创 2017-08-28 20:21:55 · 323 阅读 · 0 评论 -
Codeforces Round #419 (Div. 2)-树形dp&依赖背包&-E. Karen and Supermarket
http://codeforces.com/contest/816/problem/E 给定一个物品的 原价格 和现价格,问你如何买能让他在有限花费内物品最多。存在制约关系,比如买3必须买1。 树形dp。设置两种状态,一种是父节点用了打折卡。一种是父亲没有用打折卡。父亲用了二者卡,儿子不一定要用打折卡。(比方说这个打折卡就便宜了一毛钱,而加上那一毛就可以再买一个东西了) ※ 关键是 对树形背包原创 2017-09-06 13:52:21 · 264 阅读 · 0 评论 -
Codeforces Round #419 (Div. 2)-贪心&思维-C. Karen and Game
http://codeforces.com/contest/816/problem/C 这个题,看下面的解释就看懂了。 给定一个矩阵,每块都有值,可以一行一行的删除,也可以一列一列的删除,问你最小的删除方法 行多按列删除,列多按行删。 一次删完,找最小的。#include <bits/stdc++.h>/* 模拟,每次找最小的。 如果行大,就从列开始找, 如果列大,就从行开始删原创 2017-09-06 11:12:21 · 188 阅读 · 0 评论 -
Codeforces Round #419 (Div. 2)A&B&技巧
http://codeforces.com/contest/816 A 模拟,从头到尾就行 给你一个时间。 输出最小的时间差(比当前大),使时间回文 时间很短。60*60*60*24 #include <bits/stdc++.h>using namespace std;char b[6];int a[6];bool solve(){ if(a[0]==a[4]&&a[1]原创 2017-09-05 21:31:46 · 166 阅读 · 0 评论 -
Educational Codeforces Round 27
http://codeforces.com/contest/845 22号做的。 待补。 一个D模拟。 一个G ,图论和思维。都挺难的qwq A. Chess Tourney 给定m个人,问你能不能分成两半。其中一组的分数均小于另一组。 sort就行,看第m-1和第m个人是不是相等。是就不能,否则就能#include <bits/stdc++.h>using namespace std原创 2017-08-23 19:57:18 · 175 阅读 · 0 评论 -
Codeforces Round #430-01字典树&类异或最大值-D. Vitya and Strange Lesson
http://codeforces.com/contest/842/problem/D 给定一个数组,要求数组内的每一个数和 x异或,输出他的mex。 mex就是这个数组内 第一个没出现的数。并且异或的结果会保留。异或完 数组内的数都会改变。 01 字典树。 改的板子。 wa了几次。 注意 统计的时候 相同的数不能统计多次,不然判满的条件就不能用了hiahia#include <bits原创 2017-09-04 20:27:43 · 299 阅读 · 0 评论 -
Educational Codeforces Round 24
http://codeforces.com/contest/818 A 给定两个数,一个是总人数n,得金奖的人是x。得银奖的为y。要求 ① y>=x*k; ② x+y<=n/2; 问你输出最大的获奖人数,金 银 和不获奖的人。 当取最大时,取等号,直接计算就行了。。。 我还用二分,一直超时。(当n/2不能整除k+1时,仍然是这样计算就可以。因为他向下取整的值,就是这个范围内最大的x原创 2017-09-03 18:52:11 · 166 阅读 · 0 评论 -
Codeforces Round #428 (Div. 2)-贪心&模拟-B. Game of the Rows
http://codeforces.com/contest/839/problem/B 给定座位, 两边两个,中间4个,要求不同队伍的不能挨着。 问你怎么排列。 发现,当有一个人时,他放在2 和4 都是可以的。效果一样。 一个2可以放一个4。 策略:先放4,然后放2,他们对下面的影响可以保存qwq#include <bits/stdc++.h>/* 计算小于8的数量,如果是 1 2原创 2017-08-21 14:59:28 · 170 阅读 · 0 评论 -
Codeforces Round #422 (Div. 2),STL,欧拉筛&分解的规律
http://codeforces.com/contest/822 1 是阶乘的gcd,所以直接找最小的就好了qwq#include <bits/stdc++.h>using namespace std;typedef long long ll;int main(){ int m,n; scanf("%d%d",&m,&n); if(n>m) swap(m,n)原创 2017-08-16 13:32:01 · 229 阅读 · 0 评论 -
Codeforces Round #430 (Div. 2)-搜索&STL-Ilya And The Tree
http://codeforces.com/contest/842/problem/C 给定一个树,树上每个点有一定价值。 这个点上的魅力值是 从1到这个点的路径 上的所有点价值的gcd。 你有一个操作,可以选择是否要把其中一个点的价值变成0。也就是不影响他的gcd。可以理解为每次求 一个点的魅力值时,都是独立的(也就是你在求一个点的时候,可以把一个点变成0,再求另一个点的魅力值时,可以选择其原创 2017-09-01 11:46:15 · 165 阅读 · 0 评论 -
Codeforces Round #436 (Div. 2)-贪心-D. Make a Permutation!
http://codeforces.com/contest/864/problem/D 给定一个数列,有重复的数字,问你改变最少多少数字,能够让其成为1-m的全排列,并且字典序尽可能的小, 贪心。 标记出现多次的数的位置。 如果当前要插入的值小于 当前的位置。 那么就换。 否则,如果前面已经出现过了,那么也换。 不然就换下一个。#include <stdio.h>#include <原创 2017-09-26 21:58:18 · 293 阅读 · 0 评论 -
Codeforces Round #439 (Div. 2)A,B
http://codeforces.com/contest/869 1 给定两个数组,问你是否存在a[i]^b[j] 存在与a或b数组中。 规定,这2*n个数字都是不同的 统计符合条件的 数对 为奇数还是偶数。。 模拟。。 或者,ai xor bj = ak,那么ak xor bj = ai。 所以一定是偶数。。。 还wa了一次,两个数异或,是可能大于这两个数的max的。。#inclu原创 2017-10-10 21:29:00 · 192 阅读 · 0 评论