![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CodeForces题解
wwwwwwxu
不敢说强记,只敢说博闻。
展开
-
CodeForces #317 (div2) A.Arrays
题目大意:水题。解题思路:水题。#include#include#include#include#include#include#include#define LL long long#define db double#define maxn 10000000#define EPS 1e-15#define max(a,b) ((a>b)?(a原创 2015-08-23 22:00:28 · 338 阅读 · 0 评论 -
CodeForces#313 C. Gerald's Hexagon
题目大意:已知六边形的六条边长,求由多少个单位三等边角形拼成。边长按顺时针顺序给出,以单位三角形边长为单位。解题思路:取不相邻的三条边以边长向外即可扩展成一个大等边三角形,因为边长为n的大三角形由n*n个小单位角形拼成,更容易计算。,再减去补上的三角形面积。#include #include #include #include #include #incl原创 2015-07-24 19:45:24 · 310 阅读 · 0 评论 -
CodeForces#313 A. Currency System in Geraldion
题目大意:给出一串数,问这些数能否不能组成的最小整数是多少?如果全部能组成输出-1解题思路:有个屁的思路哦,扫一遍,有1就输出-1,没1就输出1。#includeint a[1008];int main(){ int n; bool flag; flag=0; scanf("%d",&n); for (int i=1;i<=n;i++) scanf原创 2015-07-24 19:31:15 · 319 阅读 · 0 评论 -
CodeForces#313 D. Equivalent Strings
题目大意:给出两个字符串,判断是否相等,定义字符串是否相等的方法为,如果为奇数串,只能比较是否每个字符相同,如果为偶数串,第一个串分成两个相等长度的串为a1 b1,第二个串也分成a2 b2,a1== a2 && b1 == b2 || a1 == b2 && a2 == b2。解题思路:直接暴力递归,不虚。还见识到了一个函数,strncmp(a,b,l);判断a,b原创 2015-07-24 19:52:06 · 373 阅读 · 0 评论 -
CodeForces 545E Paths and Trees
题目大意:给一张无向联通图,让你用最短路去生成一颗最小生成树,并输出用到的边的编号。解题思路:在spfa的时候就可以更新记录用到哪些边,在拥有多种最短路的时候,选择边权小的进行更新记录。#include #include #include #include #include #include #include #include #includ原创 2015-09-01 22:46:06 · 593 阅读 · 0 评论 -
CodeForces 317 ABD
A:找几个特殊情况,然后剩下的时候一顿乱操作,注意一下负数就好了。#include#include#include#include#include#include#include#define LL long long#define db double#define EPS 1e-15#define inf 1e16#define pa pairusing name原创 2015-09-01 22:50:21 · 405 阅读 · 0 评论 -
CodeForces #Pi C.Geometric Progression
题目大意:求一个序列中形成以k为公比项数为3的等比数列的种类数。解题思路:考虑中间项b,统计b/k在前面出现的次数pre[b/k]和b*k在后面出现的次数suf[b*k],相乘。统计pre可以从前往后扫,统计suf则用all减去pre即可。MAP的插入和查找复杂度都是logn,相当于一个下标无限大的数组,用来hash。原创 2015-08-06 20:41:52 · 369 阅读 · 0 评论 -
CodeForces #Pi D.One-Dimensional Battle Ships
题目大意:给定一个区间,每次除去一个点,要求在剩下的空白里能放下k个长为a的区间。解题思路:直接用set保存当前分割的区间就可以了。总复杂度为n * logn#include #include #include #include #include #include #define LL long long#define MAX 2147483647原创 2015-08-06 20:44:30 · 618 阅读 · 0 评论 -
Codeforces #304
A:模拟。/*───────────────────────────────────────▄▄▄───────────▄▄▄▄▄▄▄────────────────█▀░▀█──────▄▀▀▀░░░░░░░▀▀▄▄────────────█░░░░█───▄▀░░░░░░░░░░░░░░░▀▄───────▄▄▄█▄░░░▀▄▄▀░░██░░░░░░░░░░░░░░▀█───原创 2015-09-01 01:27:31 · 298 阅读 · 0 评论 -
CodeForces #322 (div2)
A. Vasya the Hipster随便模拟一下。#include#include#include#include#include#include#include#include#include#define LL long long#define db double#define EPS 1e-1#define inf 1e16#define pa pair原创 2015-09-28 23:56:41 · 333 阅读 · 0 评论 -
BZOJ 2038 小Z的袜子
题目大意:中文题。解题思路:对于L,R的询问。设其中颜色为x,y,z....的袜子的个数为a,b,c。。。那么答案即为(a*(a-1)/2+b*(b-1)/2+c*(c-1)/2....)/((R-L+1)*(R-L)/2)化简得:(a^2+b^2+c^2+...x^2-(a+b+c+d+.....))/((R-L+1)*(R-L))即:(a^2+b原创 2015-09-29 19:16:19 · 365 阅读 · 0 评论 -
CodeForces#313 B. Gerald is into Art
题目大意:给出两个矩形,询问能否在不重叠情况下摆放在一个大矩形上且不超出大矩形。解题思路:直接暴力写判断就可以了。#include#include#includeusing namespace std;int main(){ int n,m; while(scanf("%d%d",&n,&m)!=EOF) { i原创 2015-07-24 19:34:08 · 384 阅读 · 0 评论 -
CodeForces 413E Maze 2D
题目大意:2*n的矩阵,X的位置不能走,·的位置可以走,问两个点的最短距离。解题思路:构造一颗线段树,线段树维护四个值,左上到右上,左上到右下,左下到右上,左下到右下。然后搞。#include#include#include#define N 200001#define M 600001#define inf 500000000using names原创 2015-08-30 16:02:42 · 415 阅读 · 0 评论 -
CodeForces #317 (div2) B.Order Book
题目大意:这道题看懂题目就应该会做了……给出两种操作,操作对象相同的操作值进行合并,两种操作,都降序输出,如果操作数小于某个值,则尽可能的输出。解题思路:模拟就好了吧……#include#include#include#include#include#include#include#define LL long long#define db doub原创 2015-08-23 22:04:32 · 375 阅读 · 0 评论 -
CodeForces #317 (div2) C.Lengthening Sticks (容斥)
题目大意:给出a,b,c,l要求a+x,b+y,c+z构成三角形,x+y+z解题思路:可以利用容斥原理,首先考虑总的情况,即求x+y+z是组合数C(i+2,2),因为相当于刻度从1开始然后长度为i的尺子拆成三份有多少种情况,也就是在不同的位置切两刀,然后考虑,可以有最多两份长度为0,也就是说在0到1之间可以切两刀于是总共就是i+2个可以切的位置中选择两个。然后进行容原创 2015-08-23 22:53:15 · 830 阅读 · 0 评论 -
CodeForces#311 A. Ilya and Diplomas
题意:给出3个区间 [L1,R1],[L2,R2],,[L3,R3] 和正整数n,要求在3个区间内各选一个正整数,使得选出来的数之和为n。如果有多种选法,取从第一个区间内选出的数最大的选法。如果仍有多种选法,取从第二个区间中选出的数最大的选法,如果仍有多种选法,取从第三个区间内选出的数最大的选法。题目保证至少存在一种选法。解题思路:要使第一个区间内选出的数尽量大,意思就是尽量让原创 2015-07-16 11:51:51 · 470 阅读 · 0 评论 -
CodeForces#311 C. Arthur and Table
题意:给出一个桌子,有n个腿,每个腿的长度是l,拆掉这条腿的花费是d,当最长的腿占腿总数大于其他腿的总数,那么合法,问到达合法情况的最小代价。解题思路:首先根据长度排个序,然后枚举每种长度作为最长长度。枚举到当前长度时,相同长度不砍,把比当前长度大的全砍掉(这个比较容易维护),然后再看现在是否已经满足条件,,不满足则从前面费用小的开始砍,直到满足为止。#原创 2015-07-16 16:55:00 · 450 阅读 · 0 评论 -
CodeForces#311 B. Pasha and Tea
题意:Pasha有2n个茶杯,每个茶杯的容积不同。Pasha有2n个朋友,男女各n个。现在Pasha要将总容积为w的茶倒在2n个茶杯里,分给这2n个朋友,并规定同性别的朋友茶杯中的茶容积相同,且每个男性朋友茶杯中茶的容积是每个女性朋友茶杯中茶的容积的两倍。求所有朋友茶杯中的茶容积之和的最大值。解题思路:题意:Pasha有2n个茶杯,每个茶杯的容积不同。Pasha有2n个朋友,男原创 2015-07-16 16:06:40 · 354 阅读 · 0 评论 -
CodeForces #315 (div1) A.Primes or Palindromes?
题目大意:求出最大的n,使得小于等于n的素数的个数解题思路:显而易见一定有答案。因为A的值很小,而且回文数的个数很少,所以素数打表暴力统计,回文数暴力判断。n的最大值大概是130w的样子,倒着枚举就可以了。#include #define LL long longusing namespace std;const int N=8000005, mx=8原创 2015-08-12 00:03:42 · 673 阅读 · 0 评论 -
CodeForces #315 (div1) B.Symmetric and Transitive
题目大意:不懂。解题思路:没有,至今不会。当时能过的原因是群里有人说是贝尔数,然后一顿乱搞。#include #define mod 1000000007#define LL long longusing namespace std;long long B[4001],c[4001][4001],n,ans=0;int main(){ while(sca原创 2015-08-12 00:06:14 · 610 阅读 · 0 评论 -
CodeForces #318 (div1) A.Bear and Poker
题目大意:给出一堆数,问它们在乘x个2和y个3后相等。解题思路:把它们分别除2和除3,然后看是否相等。#include#include#include#include#include#include#define LL long long#define db double#define EPS 1e-15#define inf 1000000000原创 2015-08-30 20:05:37 · 360 阅读 · 0 评论 -
CodeForces #318 (div1) C.Bear and Drawing
题目大意:2*n的点阵,问能否画出题中给出的树,且树边不交叉。解题思路:一开始不会……后来问了老司机……分成四种点进行讨论。所有叶子节点都是4,然后向上递推。至于如何寻找根节点:因为第一种节点最多只有一个,所以先把默认的1号点当根来搜叶子标四号点。这样的话,如果递推出了好多个①点,那就是no。如果只递推出了一个①点,那这个①点就是根。原创 2015-08-30 20:21:59 · 574 阅读 · 0 评论 -
CodeForces #318 (div1) B.Bear and Blocks
题目大意:给一个图形,从外向内一层层削,问能削几层。解题思路:模拟的话是n^2复杂度。我们可以观察每列最大步数是多少。我们可以发现,每列一步要么减1层,要么是min(h[i-1],h[i+1],所以用dp的思想,从前向后,再从后向前推一遍就可以了。复杂度为O(n)。#include#include#include#include#include#i原创 2015-08-30 20:14:18 · 392 阅读 · 0 评论 -
关于扫描线的一些理解
关于扫描线这个东西,其实是不太好开始学习的,因为百度到的东西大部分是比较高深,或者是和计算几何相关的东西。感觉稍微写点自己的理解吧……一、关于扫描线关于扫描线这个东西,其实就和我们脑海中想象的是一样的,一根线在要进行的区间上进行“扫描”。扫到的地方就在线上进行某些性质的改变。所以扫描线更像是一种思想,而不是某些特定的算法。二、扫描线的初级实现原创 2015-12-27 16:46:08 · 7098 阅读 · 2 评论