CF-558:部分题目总结】的更多相关文章

链接:http://codeforces.com/problemset/problem/558/C C. Amr and Chemistry time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Amr loves Chemistry, and specially doing experiments. He is preparing…
Amr loves Chemistry, and specially doing experiments. He is preparing for a new interesting experiment. Amr has n different types of chemicals. Each chemical i has an initial volume of ai liters. For this experiment, Amr has to mix all the chemicals…
写省选的题目对noip没什么大用 关键是 细节题或者是思考题比较重要 练思维自然是CF比较好了 把我见到的比较好的CF题放上来刷一刷. LINK:Complete the projects 就是说一个人 初始值为R 有n项工作每项工作有两种属性 a和b 当且仅当 R>=a时可以完成这项任务 且R+=b; 每项任务只能完成一次 问能否把所有工作完成.注:b可能为负. 怎么做?显然对于b>=0的工作我们按照a由小到大的顺序直接做如果有不能完成的任务的话 那便一定不能完成.考虑如何做负值的工作? 想…
题目链接:558 - Wormholes 题目大意:给出n和m,表示有n个点,然后给出m条边,然后判断给出的有向图中是否存在负环. 解题思路:利用Bellman Ford算法,若进行第n次松弛时,还能更新点的权值,则说明有负环的存在. #include <stdio.h> #include <string.h> #define min(a,b) (a)<(b)?(a):(b) const int N = 10005; const int INF = 0x3f3f3f3f; i…
传送门:https://284914869.github.io/AEoj/558.html 题目简述  一个人在一个n * m棋盘上玩游戏,想要占领一个格子有两个方法: 在这个格子放一个棋子.  这个格子周围(四联通)的格子中**都有棋子**. 在(i, j)中放棋子需要花费cost[i][j],占领(i, j)能获得benefit[i][j].求一种放置棋子的方法,使得总收益(收益 - 花费)最大. 2<=n,m<=20 分析 一眼看上去, 状压? 我是不是dp学傻了..根本想不出 网络流?…
CF 219D [题目链接]CF 219D [题目类型]树形DP &题意: 给一个n节点的有向无环图,要找一个这样的点:该点到其它n-1要逆转的道路最少,(边<u,v>,如果v要到u去,则要逆转该边方向)如果有多个这样的点,则升序输出所有. &题解: 参考自:http://blog.csdn.net/angon823/article/details/52316220 需要求每个点到其他n-1个点是否要逆转路径,那么就可以把正的路cost=1,逆转的cost=0,这只要求这个点到…
cf 385 C. Bear and Prime Numbers 题目大意:有一个数列{xi},每次给出一个询问[l, r],即问 S(l ,r)是l和r之间的素数,f(p)表示数列{xi}中整除p的个数 思路:筛法,显然xi的顺序是无所谓的,我们把它记录下来,然后做筛法,如果一个素数筛合数的过程中遇到一个数的话显然得记到这个素数的头上,然后再把这样得到的表求一个sum就行 #include<iostream> #include<cstdio> #define maxn 10000…
题目链接:http://codeforces.com/problemset/problem/558/B 题目意思:给出一个序列,然后找出出现次数最多,但区间占用长度最短的区间左右值. 由于是边读入边比较,因此问题最关键的是,记录每个数第一次出现的位置,即左值.因为要保证次数是出现最多,因此需要一个cnt[]数组来记录出现次数.然后当最多出现次数与当前cnt[x]次数相同时,要选择区间较短的,再更新左右区间值. 赛中短路竟然想不出来~~~泪啊~~泪啊- >_< #include <iost…
题目地址 本次CF是在今天早上深夜进行,上午有课就没有直接参加.今天早上上课坐到后排参加了virtual participation.这次CF前面的题目都非常的水,不到10分钟就轻松过了前两题,比较郁闷的是之后一直卡在C,开始是脑残的没有用二分TLE,后来又是因为一个常数打错而一直WA--于是模拟赛就只过了2道题(太弱了orz).时间到了后很快发现了脑残错误,终于A了C题.下午上完课回到宿舍看D题才发现D题水的不行,很快就A了.不过E和F就比较超出我现在知识范围了,暂时就先放下.第一次参加vir…
HDU 4932  Bestcoder Problem Description There are N point on X-axis . Miaomiao would like to cover them ALL by using segments with same length. There are 2 limits: 1.A point is convered if there is a segments T , the point is the left end or the righ…
上几次的一道cf题. 题目:http://codeforces.com/contest/376/problem/C 性质: (4)a与b的和除以c的余数(a.b两数除以c在没有余数的情况下除外),等于a,b分别除以c的余数之和(或这个和除以c的余数).例如,23,16除以5的余数分别是3和1,所以(23+16)除以5的余数等于3+1=4.注意:当余数之和大于除数时,所求余数等于余数之和再除以c的余数.例如,23,19除以5的余数分别是3和4,所以(23+19)除以5的余数等于(3+4)除以5的余…
最好程序一遍通过,为了提高代码能力,这里将用TIP的形式记录来犯过的错误.不断更新中. *已经转移到闪存.. [150214]WA:检查是否数组开小了. [150212]WA:如果程序中有乘号,需要留意是否超出int. [150210]CF::GYM的题目有的需要文件输入输出…
CF424 A. Squats 题目意思: 有n(n为偶数)个x和X,求最少的变换次数,使得X的个数为n/2,输出变换后的序列. 解题思路: 统计X的个数ans,和n/2比較,少了的话,须要把n/2-ans个x变成X,多了的话须要把ans-n/2个X变成x.(从前往后扫一遍即可了). 代码: //#include<CSpreadSheet.h> #include<iostream> #include<cmath> #include<cstdio> #incl…
题目描述 Vasya has a string s of length n consisting only of digits 0 and 1. Also he has an array a of length n. Vasya performs the following operation until the string becomes empty: choose some consecutive substring of equal characters, erase it from t…
这题难度1700,我感觉又小了…… 这题虽然没几个人是用kruskal重构树的思想做的,但是我是,所以我就放了个kruskal重构树的标签. 题目链接:CF原网 题目大意:有一个长为 $n$ 的排列,一开始每个数都是一个独立的联通块.有 $n-1$ 次操作,每次要求 $x_i$ 和 $y_i$ 所在的联通块相邻,然后把这两个联通块合并.求一个合法的排列使得所有操作合法.保证有解. $1\le n\le 1.5\times 10^5$. 这题我想了想,就想到了kruskal重构树.(smg?) k…
这题难度2200,应该值了. 题目链接:CF原网 题目大意:定义两个字符串 $s$ 和 $t$($s$ 的长度为 $m$)的乘积为 $t+s_1+t+s_2+\dots+t+s_m+t$.定义一个字符串的美丽度为最长的相同字母连续子序列的长度.现在给出 $n$ 个字符串 $p_i$,问 $((p_1p_2)p_3)\dots p_n$ 的美丽度. $1\le n\le 10^5,\sum|p_i|\le 10^5$. 官方题解讲的很复杂,但看起来也就是个暴力大模拟,跟我的做法差不多. 为叙述方便…
传送门--CF 传送门--UOJ 题目要求基环树删掉环上的一条边得到的树的直径的最小值. 如果直接考虑删哪条边最优似乎不太可做,于是考虑另一种想法:枚举删掉的边并快速地求出当前的直径. 对于环上的点,先把它的子树计算完毕,然后将最深的那条链接在这个点上,即记录每个点子树的最深深度,记为\(dep_i\).然后枚举环上的节点\(x\),设\(dis_y\)表示从\(x\)开始顺时针到达\(y\)需要走多远(相当于将\(x\)和其逆时针遇到的第一个点之间的边删掉),那么当前的直径就是\(\max\l…
这题CF给的难度是2000,但我感觉没这么高啊…… 题目链接:CF原网 题目大意:有两个正整数序列 $a,b$,长度分别为 $n,m$.给出所有 $a_i$ 和 $b_j(1\le i\le n,1\le j\le m)$ 的大小关系(大于,小于或者等于),请构造出符合条件的 $a$ 和 $b$.如果无解,输出NO.如果有多个解,输出 $a,b$ 中最大元素最小的方案. $1\le n,m\le 1000$. 这题一眼差分约束.但是看着没有具体的数字……(主要是我不会打) 然而二眼就是拓扑排序.…
题目链接:洛谷 CF原网 题目大意:有 $n$ 个互不相同的正整数 $c_i$.问对于每一个 $1\le i\le m$,有多少个不同形态(考虑结构和点权)的二叉树满足每个点权都在 $c$ 中出现过,且点权和为 $i$.答案对 $998244353$ 取模. $1\le n,m\le 10^5$. 首先考虑DP,$f_i$ 表示点权和为 $i$ 的树数. 那么枚举根节点的点权和两棵子树的点权和 $f_k=\sum\limits^n_{i=1}c_i\sum\limits^{k-c_i}_{j=0…
这题我在考场上也是想出了正解的……但是没调出来. 题目链接:CF原网 题目大意:给一个长度为 $n$ 的序列 $a$,$q$ 个操作:区间乘 $x$,求区间乘积的欧拉函数模 $10^9+7$ 的值. $1\le n\le 4\times 10^5,1\le q\le 2\times 10^5,1\le a_i,x\le 300$.时限 5.5s,空限 256MB. 明显线段树. 有一个想法是维护区间积的欧拉函数,但是这样时间复杂度和代码复杂度都很高…… 我的做法是维护区间积.而欧拉函数,就是看看…
既然是在CF上AC的第一道交互题,而且正是这场比赛让我升紫了,所以十分值得纪念. 题目链接:CF原网 题目大意:交互题. 有一个长度为 $n$ 的序列 $a$,保证它从小到大排序后是个等差数列.你不知道这个序列长什么样,但你可以询问: $?\ i$ 表示询问 $a_i$ 的值: $>\ x$ 表示询问序列中是否存在严格大于 $x$ 的数. 你可以问不超过 $60$ 个询问. 现在,你需要求出这个等差数列的首项(也就是 $a$ 中的最小值)和这个等差数列的公差(也就是等差数列中相邻两个数的差).…
题目链接:CF原网 题目大意:$n$ 个方块排成一排,第 $i$ 个颜色为 $c_i$.定义一个颜色联通块 $[l,r]$ 当且仅当 $l$ 和 $r$ 之间(包括 $l,r$)所有方块的颜色相同.现在你可以选定一个起始位置 $p$,每次将 $p$ 所在颜色联通块的所有方块颜色改成另一种.这个操作可能将两个颜色联通块合并成一个.问最少要多少步,能让 $[1,n]$ 变成一个颜色联通块. $1\le n,c_i\le 5000$. 其实是个很水的区间DP啊……为什么会有同学说不做呢…… 毕竟我能在…
我至今不敢相信我被这么一道简单的题卡了这么久……看来还是太弱了…… 题目链接:CF原网 题目大意:定义一个序列的“美丽度”为这个序列前 $m$ 大的数的和.现在有一个长度为 $n$ 的序列,你需要把它分成 $k$ 个长度至少为 $m$ 的连续子序列,每个元素不重不漏,使得这些子串的“美丽度”之和最大.而且要求输出划分方案. $1\le n\le 2\times 10^5,m\ge 1,k\ge 2,m\times k\le n$. 贪心地想,最后的划分方案中,计入总和的数,应该是原序列中前 $m…
C. Three displays time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output It is the middle of 2018 and Maria Stepanovna, who lives outside Krasnokamensk (a town in Zabaikalsky region), wants to ren…
CF#509 div2 A 第一次用自己的号打CF祭. 题目描述 昨晚有一家电子商店被抢劫了. 昨天在商店里的所有键盘都是从x开始按升序编号的.例如,如果x=4,并且商店中有3个键盘,那么编号就为4,5,6: 如果x=10,并且有7个键盘,那么编号就为10,11,12,13,14,15,16. 在抢劫之后,只有n个键盘仍然存在,他们的编号分别为$a_1,a_2,\dots ,a_n $. 计算被盗的键盘的最小可能数量.工作人员也不记得商店里原来有几个键盘. 思路: 那么其实很简单,就是算出数列中…
这套题目做完后,一定要反复的看! 代码经常出现的几个问题: 本机测试超时: 1.init函数忘记写. 2.addedge函数写成add函数. 3.边连错了. 代码TLE: 1.前向星边数组开小. 2.用了memset,慎用. 1. CodeForces 498C  Array and Operations 我发现cf上的网络流的建图思路都非常好,准备着重练习一下. 此题枚举每一个质因子,对每个质因子建图,确实是很好的思路. #include <bits/stdc++.h> using name…
题意: 找给定区间的美丽数,美丽数的意思就是这个数每个位上的数都是唯一的. 思路: 前缀和的思想. 感想: 就是你当前位置代表某个特性的前面的所有和(瞎比比的,说了下感觉).前提是你必须找到这样的特性,比如CF的很多题目都是这样子,给你1e5的查询,题解马上一堆线段树,这种区间的预处理,前缀和的思想很好.还有就有一题实现区间的压缩,也是很棒啊. #include <bits/stdc++.h> using namespace std; typedef long long LL; typedef…
题目 Given a digit string, return all possible letter combinations that the number could represent. A mapping of digit to letters (just like on the telephone buttons) is given below. Input:Digit string "23" Output: ["ad", "ae",…
这是笔者第一次在博客园里发表文章,也同样是第一次来写关于OI的一些想法,此篇的主题是想总体对日后的博客有具体的规划. 首先,笔者创办博客并发表观点于看法的目的是记录自己对于题目或竞赛的观念,主要以题解.比赛技巧.OI模板和一些对OI与人生的想法为主,与诸位读者共同进步. 其次,我所发表的题解的题目来源主要是洛谷与李煜东先生的<算法竞赛进阶指南>中的题目,有时假期集训时会将老师所讲授的其他如POJ.BZOJ.CF上的题目, 鉴于笔者能力有限,有时对于题目的理解并不透彻,但只要一发现错误与纰漏定将…
壹   chen_zhe人 那是谁 是谁 是谁 那就是 chen_zhe chen_zhe人 chen_zhe人 背负着暴政之名 抛弃了一切(指民心)而战斗(指禁言)的男人 chen_zhe代码是超音波(形容很会卡常) chen_zhe之眼(指管控OIer)在洛谷飞翔 手里掌握着 恶魔之力 正义的英雄( chen_zhe人 chen_zhe人 开始知道暴政的男人 因那紫名而觉醒的男人 chen_zhe禁言是迫害之力 chen_zhe之眼透视一切 chen_zhe劈砍肋骨可断 手里掌握着 管理之力…