自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

PK__PK的博客

AC之路长的超乎你的想象

  • 博客(224)
  • 收藏
  • 关注

原创 Educational Codeforces Round 55 (Rated for Div. 2) B - Vova and Trophies (模拟+思维)

题目链接:https://codeforces.com/contest/1082/problem/B题意:给一个长度为n的字符串。字符串只包含两种字母。S 和 G.只有一次交换任意两个位置的字符,求最长的连续的G的长度。题解:求出每一段连续的G的起始位置,终止位置,和G的个数。如果对于两段之间 S 的个数为 1 的话那么就可以 把两段加起来。如果大于 1 那么长度就为前一段的G的个数 + ...

2018-12-08 19:39:25 496

原创 Educational Codeforces Round 55 (Rated for Div. 2) A - Vasya and Book (模拟)

题目链接:http://codeforces.com/contest/1082/problem/A题意:一本书有n页,现在让你从 x 页,翻到 y 页,每次只可以翻 t 页。求最少多少次可以翻到y页。题解:判断以下情况即可:1,若能直接从 x 翻到 y,那么这个就是最小次数。2,若不能,则先从 x 到 1 ,然后从 1 到 y。或者,先从x到 n ,然后从 n 到 1. 两种求最小...

2018-12-08 19:27:35 242

原创 Codeforces Round #524 (Div. 2) C - Masha and two friends (数学 + 思维 + 统计 + 云AC)

题目链接:http://codeforces.com/contest/1080/problem/C题意:在一个黑白相间的棋盘中,左下的位置为白色。有两次操作的机会,第一次选取一个矩形,把它全部涂白。第二次再次选取一个矩形,把它全部涂黑。问最后白色和黑色的数量有多少。题解:我们很容易的发现。如果选取矩形中方格的个数为偶数,那么其中黑色和白色方格数量是相同的,若为奇数,则还有两种情况:...

2018-12-07 21:07:59 291

原创 Codeforces Round #524 (Div. 2) B - Margarite and the best present (前缀和 + 模拟)

题目链接:http://codeforces.com/contest/1080/problem/B题意:定义 (-1)+ 2 + (-3) + 4 +(-5) + 6 + (-7) + …… = sum,给出起始位置 l ,和终止位置 r 求 sum题解:求个 1加到 r 和 1 加到 l 然后 相减,就是答案。代码如下:#include<bits/stdc++.h>...

2018-12-06 16:00:18 269

原创 Codeforces Round #524 (Div. 2) A - Petya and Origami (模拟)

题目链接:http://codeforces.com/contest/1080/problem/A题意:现在要邀请n给人来参加派对,所以你要制作n张请帖,每张请帖要用到2张红色贴纸,5张绿色贴纸,8张蓝色贴纸。超市中一包贴纸有k张,请问需要买多少包贴纸。题意:统计出来各个颜色的贴纸各需要多少张。然后分别除k 向上取整,求个总和即可。代码如下:#include<bits/st...

2018-12-06 15:54:01 331

原创 Codeforces Round #523 (Div. 2) D - TV Shows (贪心 +二分+ STL应用)

题目链接:http://codeforces.com/contest/1061/problem/D题意:有 n 个 节目,每个节目都有开始时间和结束时间,你可以租电视来播放这些节目,每个电视的租金为 x + (使用这个电视的结束时间 - 使用这个电视开始时间) * y。问你现在想播放所有节目,你最少需要花费多少租金。题解:我们不难想到,要按照节目的的开始时间为第一优先级,结束时间为第二优先...

2018-12-06 15:43:38 364

原创 Codeforces Round #523 (Div. 2) C - Multiplicity (DP+预处理)

题目链接:http://codeforces.com/contest/1061/problem/C题意:给你一个长度为n的序列a,从序列a中下选任意数字组成序列b,定义 任意 b【i】% i == 0 的 b序列为good序列。求有多少条的good序列题解:很容易想到,先预处理出来每个a【i】能放的位置,即a【i】的约数。定义dp【i】表示长度为 i 的b序列有多少种。那么转移方程...

2018-11-28 17:07:21 217

原创 Codeforces Round #523 (Div. 2) B - Views Matter (贪心)

题目链接:http://codeforces.com/contest/1061/problem/B题意:输入一个n,m,表示有n行可以放置木块的地方。然后输入 每个位置 i 的木块的高度,高度不会m,然后你可以移任意一块木块,并且这个是无重力的,即使你移走靠下的,上面的木块也不会掉下去。问:最多可以移走多少块,让这些木块的俯视图,和右视图没有变化。题解:思考一个问题。在无重力环境下,想要让...

2018-11-23 21:52:27 191

原创 Codeforces Round #523 (Div. 2) A - Coins (贪心)

题目链接:http://codeforces.com/contest/1061/problem/A题意:给定两个数字n,m,表示每次可以从1到n选一个数字,然后让m减去这个数字。求减到0所需要的最小次数。题解:贪心思路为:每次选个最大的数字,即n,然后m减去n。其实 就是 m % n == 0 就输出 。m/n,否则就输出 m/n + 1.代码如下:#include<bit...

2018-11-23 21:17:58 158

原创 计算几何---凸包教学 (附带POJ 1113 - Wall 题解)

写这道题之前我们,先了解一下是什么是凸包问题。凸包:在一个实数向量空间V中,对于给定集合X,所有包含X的凸集的交集S,被称为X的凸包。简单的解释就是,给出一些点。找到从这些点中,选出一些点,让所有点都在这些点范围内。在上面图中,p1,p2,p8,p7,p6组成的集合为这些点的凸包。解决凸包问题常用的有两种算法:Graham扫描法和Jarvis步进法。这篇文章我们先介绍 Ja...

2018-11-23 16:21:46 436

原创 贪心经典例题---多机调度问题(优先队列)

 问题:设有n个独立的作业{1, 2, …, n}, 由m台相同的机器进行加工处理. 作业i所需时间为t i. 约定:任何作业可以在任何一台机器上加工处理, 但未完工前不允许中断处理,任何作业不能拆分成更小的子作业。要求给出一种作业调度方案,使所给的n 个作业在尽可能短的时间内由m台机器加工处理完成。 题解:先按照花费时间的长短从大到小排序,然后加入优先队列中。每次取优先队列的队首元素,加到总...

2018-11-21 20:25:52 1440

原创 Codeforces Round #522 (Div. 2, based on Technocup 2019 Elimination Round 3) C - Playing Piano(DP)

题目链接:http://codeforces.com/contest/1079/problem/C题意:给你一个长度为n的序列a,根据序列a,按照如下要求构造序列b:1:若a【i】  > a【i+1】 则,b【i】 > b【i+1】1:若a【i】  < a【i+1】 则,b【i】 < b【i+1】1:若a【i】  = a【i+1】 则,b【i】 != b【i...

2018-11-21 15:12:08 748

原创 Codeforces Round #521 (Div. 3) E - Thematic Contests (二分 + STL)

题目链接:http://codeforces.com/contest/1077/problem/E题意:首先给你一个长度为n的序列,表示一共有n个问题。其中某些问题属于同一种话题。现在要让你举办一天接一天的比赛,每天比赛要选择这些话题中的选择一个话题来进行解决问题。每天的比赛有如下要求:第一 :当天话题对应的问题的个数应该是前天的两倍。如:前一天我们讨论的是话题3,问题个数为2的话,当天我...

2018-11-21 11:30:41 268

原创 Codeforces Round #521 (Div. 3) D - Cutting Out (二分)

 题目链接:http://codeforces.com/contest/1077/problem/D题意:给你一个长度为n的序列,选出从中选出一个长度 t 的子序列s,每次从序列中删去s序列中的数字。求能删最多次的序列t。n 范围 2e6题解:先解释一波样例。7 31 2 3 2 4 3 1原序列长度为7,要求序列长度为3为了使删的次数最多我们选择1 2 3 这...

2018-11-20 21:46:12 260

原创 Codeforces Round #521 (Div. 3) C - Good Array (前缀和)

题目链接:http://codeforces.com/contest/1077/problem/C题意:一个长度为n的序列。删掉某个数字,使得序列最大值等于其他数字的总和。问有多少种情况。题解:先解释一下样例。52 5 1 2 2如我们删掉某个2的话,就会有 5 = 2 + 1 + 2总有三种删法题解:n是2e5,a【i】是1e6.暴力枚举没戏。桶排记录每一位数字的位置...

2018-11-20 15:49:37 248

原创 Codeforces Round #521 (Div. 3) B - Disturbed People (贪心)

题目链接:http://codeforces.com/contest/1077/problem/B题意:给你一长度为n的01序列。0表示当前位置的房子灯是灭的,1表示当前房子的位置灯是亮的。判断某个位置的房子是否被打扰的条件为。a【i】 = 0,a【i+1】 =  a【i - 1】 = 1. (2 <= i <= n)。求最少关掉几盏灯没有人被打扰。题解:每当我们遇到 1 0 ...

2018-11-20 15:31:17 178

原创 Codeforces Round #521 (Div. 3) A - Frog Jumping (思维)

题目链接:http://codeforces.com/contest/1077/problem/A题意:一只青蛙第一次会向右跳am,第二次会向左跳bm,第三次向右跳am,第四次会向右跳bm……,给你a和b,还有一个n。n表示跳n次。问n次之后青蛙的位置。题解:模拟这个过程会超时,嗯判断n是奇数还是偶数,偶数就(a-b)*(n/2),奇数就是 (a-b)*(n/2) + a.代码如下:...

2018-11-20 15:22:08 218

原创 Codeforces Round #520 (Div. 2) C - Banh-mi (前缀和 + 快速幂 + 数学 + 贪心)

题目链接:http://codeforces.com/contest/1062/problem/C题意:你给一个长度为n的01串,表示该位置的初始值。每当我们选择某个位置的时,我们会获得当前位置的值然后删除该位置,并且其他没删除的位置会加上当前位置的值。然后给你q组询问,每组询问两个数,l,r,表示我们要查询的区间。 q查询次数1e5,n长度1e5。题解:先解释一波样例4 210...

2018-11-19 21:10:21 313

原创 Codeforces Round #520 (Div. 2) B - Math (贪心+数学)

题目链接:http://codeforces.com/contest/1062/problem/B题意:给你一个n,你有如下两种操作:1. n *= x (x为正整数)2. n = 根号下n (根号n 为 正整数)问这个n最小能变成多少,最少的操作次数为多少。题解:我们需要理解一下开方的操作。比如20 = 2*2*5。我们发现我们只需要乘个5就能让20变成100,从而进行开方,...

2018-11-19 17:24:48 205

原创 Codeforces Round #520 (Div. 2) A - A Prank (暴力)

题目链接:http://codeforces.com/contest/1062/problem/A题意:给你一个长度为n的递增序列ai,可以删去一些连续的数字,得到bi。并且你能通过bi,恢复ai。问删去的数字最长能是多少。字符串长度不超100,数字大小不超过1000.题解:从每个位置 i 开始扩展,看a[j] - a[i] == j - i 若相等就ans++。求一个最大ans即可。...

2018-11-19 13:42:53 280

原创 Educational Codeforces Round 54 (Rated for Div. 2) D - Edge Deletion (最短路)

题目链接:http://codeforces.com/contest/1076/problem/D题意:给你一张图G,n个点,m条边,然后再给出一个k,表示在原先的图中最多选k条边,组成新图G1。使得G1中所节点数最多,并且1到G1各点的最短路不变。题解:这道题两种解法:第一种先求出最短路的路径,用这个路径再建一个树,然后从1这个点bfs跑一边,输出前k条边即可。第二种用优先队列优...

2018-11-14 20:39:12 293

原创 Educational Codeforces Round 54 (Rated for Div. 2) C - Meme Problem (数论)

题目链接:http://codeforces.com/contest/1076/problem/C题解:给定一个d问是否存在一组a,b,使得a*b = d, a+b = d。解法:二元一次不等式组,求解即可代码如下:#include<bits/stdc++.h>using namespace std;int main(){ int z; scanf("%d"...

2018-11-14 15:32:10 277

原创 Educational Codeforces Round 54 (Rated for Div. 2) B - Divisor Subtraction (思路)

题目链接:http://codeforces.com/contest/1076/problem/B题意:给你一个n,让你设计一个程序如下要求:1.若n = 0,结束程序2.求出n的最小质数约数。3.n减去最小质数约数。求这个程序运行的次数。题解:考虑一下,如果给出的n为偶数,那么他最小质数约数一定是2.那么结果就是n/2了。若是个奇数。那么我们暴力找就行了。先打个素数表...

2018-11-14 15:25:30 184

原创 Educational Codeforces Round 54 (Rated for Div. 2) A - Minimizing the String (思维)

题目链接:http://codeforces.com/contest/1076/problem/A题意:给你一个长度为n的字符串。字符串只包含小写字母。你可以最多删除1一个字符串。让剩余的字符串的字典顺序变得最小。这里的字典顺序是指英文字典中单词的顺序。比如ab   < b。题解:写的时候这个字典顺序让我纠结了一段时间。解法比较简单。我们只想找到第一个下降的字母,然后删除这个字母...

2018-11-14 15:16:22 205

原创 POJ 1269 Intersecting Lines (叉积 -- 判断直线位置)

题目链接 : http://poj.org/problem?id=1269题意:给出两条直线上的两个点,让你判断两条直线的位置关系,是共线,还是平行,还是相交,若相交则输出交点。题解 :这道题,完全就是叉积运用。我们先判断两直线是否共线,然后在判断是否平行,若以上两条都不满足,那么就是相交。如何判断直线共线:        判断共线,那么我们知道,若两个向量的叉积为0,那么两个...

2018-10-27 15:02:53 290

原创 POJ 3304 Segments (叉积的运用---判断线段相交+枚举)

题目链接:http://poj.org/problem?id=3304题意:给你n条线段,然后问是否存在一条直线,让所有线段在这条直线上的投影至少有一个公共点。题解:我读题读了10年才读懂QAQ (太菜了)。这道题实际问的是是否存在一条直线与所有线段有交点。如何从题意,转化到这里呢?首先投影一定是和直线是垂直的,若所有直线至少有一个公共点,那么过这个公共点作垂线,一定和所有线段有交...

2018-10-17 15:49:24 223

原创 POJ 2398 Toy Storage(叉积+STL)

题目链接:http://poj.org/problem?id=2398题意:给你一个矩形,再给你一些边,这些边把矩形分成了一些区域,然后再给你一些点,然后统计点数相同的区域有多少个。题解:这道题是 POJ 2318的升级版。只不过在求出各个区域的点的个数之后又统计了一下点而已。用map存一下即可。https://blog.csdn.net/PK__PK/article/details/...

2018-10-15 21:20:06 144

原创 POJ 2318 TOYS (叉积)

题目链接:http://poj.org/problem?id=2318题意:给你一个矩形,再给你一些边,这些边把矩形分成了一些区域,然后再给你一些点,问各个区域的点的个数。题解:这道题,需要用到向量的叉积这个知识点。先普及一下关于向量的知识向量:在数学中既有大小又有方向的量成为向量(或矢量)。向量加减法:向量P(x1,y1) ,向量(x2,y2)向量P + 向量Q = (x...

2018-10-15 20:40:59 149

原创 51NOD 1636 教育改革 (DP+思维)

题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1636题意:题解:根据题意,很容易写出DP【i】【j】表示第 i 天,作业量为 j 的最大的总作业量。但是 j 为1e16很大,空间爆炸。所以需要想办法,把每天的作业量表示出来。根据数据可知,每天的作业量的最大值最小值不超过100,根据这个条件。我们显然能...

2018-10-08 18:54:51 236

原创 Codeforces Round #514 (Div. 2) B. Forgery (暴力?)

题目链接:http://codeforces.com/contest/1059/problem/B题意:给你一个图形,再给你一个n*m的图形,问是否能印出来这个图形。这个是初始图形,问给你的图形是否能有这个印出来。解释一下这组样例 题解:暴力匹配上下左右,左上,左下,右上,右下八个点,然后打上标记,并做统计。最开始统计一下‘#’的个数 ,然后最后最后比较一下即可。...

2018-10-08 17:26:39 207

原创 Codeforces Round #514 (Div. 2) A. Cashier (模拟)

题目链接:http://codeforces.com/contest/1059/problem/A题意:一个收银员每天上L个小时的班,为了缓解压力当他闲的时候,他每过a分钟需要想要抽一次烟,但是在顾客来的时候不能抽烟,他知道顾客啥时候来,并且来几分钟,问他能抽多少次烟。题解:一开始没什么思路,打算用桶排序之类的瞎搞,但是后来发现思路错了(题意也理解错了)。正确的思路是,把每两个客人中间...

2018-10-08 09:11:19 193

原创 HDU 4825 Xor Sum (01字典树)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4825题意:给你n个数字,再给你m次询问,每次询问给你一个数S,求n个数中和S异或最大的值。题解:n方绝对超时。所以需要用的01字典树这个东西。01字典树:本质和字典树是一样的。只不过他每个节点只存0和1这两个东西。具体来说一下。我们可以把一个数字转成2进制数,把这个数字用来建树。但是这个树...

2018-09-24 17:33:35 182

原创 POJ 2503 Babelfish(字典树)

题目连接:http://poj.org/problem?id=2503题意:每个单词对应一个单词,然后输入n个单词,输出对应的单词。题解:map能解决,排序+二分也能,字典树也能。水题代码:#include<iostream>#include<cstring>#include<cstdlib>#include<cstdio>...

2018-09-20 11:44:27 245

原创 POJ 2513 Colored Sticks (欧拉回路 + 并查集 + 字典树)

题目链接:http://poj.org/problem?id=2513题意:有n段木头,每段木头的两端都有颜色。相同颜色的木头能拼接在一起成为一段。问是否能把所有木头拼接在一起。成为一段。题解:这道题,和刘汝佳的紫书上的一道题欧拉回路的题目很像,据说这道题map映射会超时,所以映射就用字典树来代替。那么这道题的思路就可以变成,每个木头分成两段,然后每个端点的颜色hash成一个点。连接之后判...

2018-09-20 10:26:21 208

原创 BE, GE or NE ACM-ICPC 2018 徐州赛区网络预赛 (记忆化搜索)

题目链接:https://nanti.jisuanke.com/t/31454题意:两个人玩游戏,轮流操作,每次操作有三个选项,当前值+x,当前值-x,当前值变成相反数。然后还有一个区间【L,R】,若第最后得分大于等于R,第一个人赢,小于等于L 第二个人赢。否则平局。问最后谁获胜。题解:记忆化搜索。定义dp【i】【j】为第 i 轮等分为 j 的胜负状况。然后看代码即可#include...

2018-09-16 19:02:49 183

原创 AC Challenge (状压DP)

题目链接:https://nanti.jisuanke.com/t/30994题意:有n道题目,每道题目有两个值,a,b。若 你在 t 分钟时做了某道题,那么你会获得 a * t + b的分数。但是做某道题时,有限制条件,你想要先做完了另外一些题目才能做这道题。比如 在做第三题时,第三题要求必须先做完第一题和 第二题,那么你要想做第三题 必须先做完第一题和第二题,问如何做题才能最后分数最大。...

2018-09-11 09:26:28 316

原创 HDU 6438 Buy and Resell (优先队列 or 贪心)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6438题意:一个奸商在倒卖石油,对于每个城市都有不同的石油的价格,当奸商按顺序到达某个城市之后,他可以有3种操作:1.买一个石油2.卖一个石油3.什么都不做的走开现在按顺序给出每个城市的石油价格,求最大获利,和最少的交易次数。题解:第一眼看到这个问题,觉得是个DP,想了半天没想出...

2018-09-02 01:48:39 214

原创 Codeforces Round #503 (by SIS, Div. 2) C Elections (思维 + 模拟)

题目链接:http://codeforces.com/contest/1020/problem/C题意:n个人被选举,n个人投票,一开始这n个人都有自己的投票人,但是你可以花钱贿赂这个人,让他改票。你想要1号投票选举胜出。请问最小花费为多少。题解:题目正常去处理的话 ,正常贪心的很复杂,我们需要考虑,是从比1号少的人中贿赂,还是从比1号多的人去贿赂。思路还是比较复杂的。但是我们可以换个思路...

2018-08-16 10:33:43 217

原创 HDU 6395 Sequence (分块+矩阵快速幂)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6395题意:给出Fn的递推式,求第n项题解:其实看一下就能知道要用矩阵快速幂来去解这道题。但是这道题有个难点,就是式子中 p/i 向下取整的值一直会变。所以加速矩阵会一直变化。但是通过找规律可以发现。p/i 在某一段区间的值是固定的。而这个区间长度 是 p/p/i。所以我们就可以把递推到 n 分...

2018-08-14 17:50:28 266

原创 HDU 6386 Age of Moyu(搜索)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6386题意:n个点,m条边,每条边有权值,双向边。你要从1走到n,若路径上的权值一样,则只用花费1即可到达,若当前边的路径和上一条边的路径不一样,就多花费1.例如1 - 1- 1 全是1所以花费为1.1-2-1,权值变化了2次所以花费为3。题解:通过bfs来找到最短路径上的节点v,然后通...

2018-08-14 12:25:07 274

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除