CodeForces
文章平均质量分 88
JW_7066
这个作者很懒,什么都没留下…
展开
-
codeforces 1A
【1C. Ancient Berland Circus】 【立体几何】三角形面积的几种求法:1、s=(1/2)*底*高 2、海伦公式:S = √[p(p-a)(p-b)(p-c) ]其中p=1/2(a+b+c) =(1/4)√[(a+b+c)(a+b-c)(a+c-b)(b+c-a)]3、s=1/2的原创 2016-10-09 22:41:49 · 649 阅读 · 0 评论 -
CodeForces 631C Report(找规律)
题目链接:【CodeForces 631C】长度是n的数列,m个次访问,两种操作:1、t=1,将数列1~r从小到大排序;2、t=2,将数列1~r从大到小排列。输出最后得到的数列如果i>j&&ri>rj,那么i之前的操作都是无效的,所以我们可以根据这个删选t、r,因此第一个r(记为R)肯定是最大的数组a存的是原数列数组a[j](R将数组b从小到大排序仔细找找规律,想象一下我们原创 2016-03-05 13:51:46 · 1791 阅读 · 0 评论 -
CodeForces 397C On Number of Decompositions into Multipliers(组合数学)
题目链接:【CodeForces 397C】输入n个数,先求出n个数的乘积m,求将m分成n个因子相乘的形式有几种分法(35可以分成1*35||35*1||5*7||7*5)每输入一个数,都将这个数的质因子的个数记录下来计算每种质因子的分配发方案数,每种质因子的方案数的乘积就是所求的答案假设质因子x有num个,将这num个数分配到n个位置中的方案数是c(n+num-1,n-1)p原创 2016-02-17 22:46:58 · 646 阅读 · 0 评论 -
CodeForces 626E Simple Skewness(二分)
题目链接:【CodeForces 626E】从长度为n的数列中找出一个子序列,使得这个子序列的(平均数-中位数)最大,输出这个子序列枚举中位数,求每一个中位数的最大平均数子序列的长度一定是奇数,当个数由奇数个变成偶数个时,中位数增加的比平均数增加的要多,(平均数-中位数)的值就会变小针对每一个中位数,二分长度,找到最大的平均数#include #include #inclu原创 2016-02-17 18:33:21 · 701 阅读 · 0 评论 -
codeforces 628D Magic Numbers
题目链接:【codeforces 628D】d-magic:从左往右数(从1开始标记),数字num的第偶数个数字是d,其他不是d。比如17273是7-magic,8的0-magic,34是4-magic输入m,d,a,b(11、a2、x是d-magic原创 2016-03-01 21:13:20 · 783 阅读 · 0 评论 -
codeforces 618D Hamiltonian Spanning Tree(dfs)
题目链接:【codeforces 618D】给出一个由n个节点和(n-1)条边组成的生成树,这棵生成树是从包含这n个节点的完全图中出来的,生成树上边的权值是x,在完全图中但是不在生成树上的边的权值是y,求将所有的几点遍历一遍的最短路径最短路径中每个点最多连着两条边,分两类讨论:1、x 使得最短路径中的边尽可能多的在生成树中随便定义一个点作为起点,dfs跑一边,边跑边记录节点v还剩下原创 2016-01-30 22:58:01 · 1003 阅读 · 0 评论 -
codeforces 616C The Labyrinth(bfs)
题目链接:【codeforces 616C】输入n*m的方格,有*和.组成,输出n*m的矩阵,如果str[i][j] = '.'直接输出'.',如果str[i][j] = '*',则假设str[i][j]='.',上下左右四个方向相连的'.'的个数先预处理原先就有的'.'块,用vis[i][j]表示ij这个点属于第几个区块,用p[]这个数组储存每个区块所求点的个数,输出时将上下左右四个方向原创 2016-01-13 15:51:22 · 1104 阅读 · 0 评论 -
codeforces 616D Longest k-Good Segment
题目链接:【codeforces 616D】在长度为n的串中找出有k个不同数字的最长连续子串,输出子串开始以及结束的位置map的简单应用#include #include #include #include #include #include using namespace std;const int inf=5*1e5+10;int p[inf];mapmp;in原创 2016-01-13 16:45:55 · 687 阅读 · 0 评论 -
Codeforces Round 306 B Preparing Olympiad(简单dfs)
http://http://codeforces.com/contest/550/problem/B题意:输入n,l,r,x以及n个数在这n个数中找出i(i>=2 && i)个数,使得它们的和>=l&&=x 解题思路:用dfs一个一个搜过去#include #include #include #include #include #include using原创 2015-06-05 20:20:42 · 673 阅读 · 0 评论 -
codeforces 617C Watering Flowers(暴力)
题目链接:【codeforces 617C】有两个水源,分别位于(x1, y1),(x2, y2),分别可以喷灌以r1,r2为半径的圆,有n多花分别位于(xi,yi),一朵花可以同时被两个水源喷灌,问所有的花都能被喷灌到时,r1^2+r2^2的最小值是多少先求每朵花到水源1的距离,用dis[]来储存,dis[i]表示第i多花到水源1的距离再求出每朵花到水源2的距离,用结构体ds[]储存原创 2016-01-25 11:00:19 · 797 阅读 · 0 评论 -
CodeForces 361D Levko and Array(二分+dp)
题目链接:【CodeForces 361D】输入一个大小是n的数列,最多可以改变其中的k个数值,问最终max(abs(a[i+1] - a[i])(1相邻差值的最小值跟最大值都能求出来,二分相邻差值dp[i]表示当a[i]不变时,最多有多少个a[j](1当相邻差值是x时,如果abs(a[i]-a[j])x,否则就是相邻差值最大是x ==> a[i]跟a[j]之间最大的差值是(i原创 2016-02-19 22:41:18 · 912 阅读 · 0 评论 -
codeforces 629D-Babaei and Birthday Cake(dp && 线段树或树状数组离散优化)
题目链接:【codeforces 629D】 HDU1087的升级版有n个圆柱形的蛋糕,已知每个蛋糕的半径r和高h,将这n个蛋糕叠起来,第i个蛋糕能放在第j个蛋糕的上面(1第j个蛋糕的体积,问最终叠成的蛋糕的最大体积dp[i] = max(dp[j], 1用线段树记录第i个蛋糕之前满足条件的的最大dp值将从小到大排序后的体积的序号作为线段树的下标,没访问一次vol[i],就把原创 2016-02-22 12:34:55 · 548 阅读 · 0 评论 -
codeforces 723E. One-Way Reform(欧拉回路||网络流)
E. One-Way Reformtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputThere are n cities and m two-way roads原创 2016-10-06 08:15:04 · 946 阅读 · 0 评论 -
codeforces 665F. Four Divisors(求n以内因子数是4的数的个数)
F. Four Divisorstime limit per test10 secondsmemory limit per test768 megabytesinputstandard inputoutputstandard outputIf an integer a is divisible by another i原创 2016-09-23 19:49:57 · 2295 阅读 · 0 评论 -
codeforces 721C. Journey(dp+拓扑)
C. Journeytime limit per test3 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputRecently Irina arrived to one of the most famous原创 2016-10-01 16:13:01 · 573 阅读 · 0 评论 -
codeforces 721D. Maxim and Array(贪心)
D. Maxim and Arraytime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputRecently Maxim has found an array of n i原创 2016-10-01 21:35:32 · 980 阅读 · 0 评论 -
codeforces 719C. Efim and Strange Grade
C. Efim and Strange Gradetime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputEfim just received his grade for t原创 2016-09-24 10:34:00 · 679 阅读 · 0 评论 -
codeforces 716D. Complete The Graph(最短路)
D. Complete The Graphtime limit per test4 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputZS the Coder has drawn an undirected原创 2016-09-21 20:21:05 · 1358 阅读 · 0 评论 -
codeforces 712D. Memory and Scores(dp)
D. Memory and Scorestime limit per test2 secondsmemory limit per test512 megabytesinputstandard inputoutputstandard outputMemory and his friend Lexa are competi原创 2016-09-14 16:21:00 · 775 阅读 · 0 评论 -
codeforces 55D. Beautiful numbers(数位dp)
题目链接:【codeforces 55D】美丽的数x:x能整除它本身的非零的数字问l~r之间的美丽的数的个数(11~9的最小公倍数是2520,从左往右搜,每次记录mod2520后的余数,到目前数字为止的最小公倍数(要用has离散化,否则会超内存)#include #include #include #include #include using namespace std原创 2016-02-25 20:38:08 · 511 阅读 · 0 评论 -
codeforces 577B Modulo Sum
问能不能在大小是n的数列中取出几个数,使得他们的和是m的倍数如果n>m,那么无论n个数是多少,都可以,这是一个定理所以我们要讨论的就是n对于1 2 2 3这个数列 我们能得到的和有1 2 3 4 5 6 重复的就直接去掉所以用set容器来保存前i个数能得到的和#include #include #include #include原创 2015-09-11 15:10:36 · 1519 阅读 · 0 评论 -
CodeForces 550C Divisibility by Eight(暴力)
http://http://codeforces.com/problemset/problem/550/C题意:给出一串数字,在原先的顺序基础上适当的删除一些数使得最终的结果能被8整除 解题思路:能被8整除的数的特征:如果这个数超过3位,那么只要后三位能被8整除,这个数就能被8整除一开始想的太复杂,想用搜索,其实只要用for循环暴力一下就可以了,毕竟给出的数最多只有100位原创 2015-06-06 16:46:50 · 784 阅读 · 0 评论 -
codeforces 616E Sum of Remainders(数学公式转化 较难)
题目链接:【codeforces 616E】输入n,m(1n%i ==> n-[n/i]*i原式化为n*m - ∑i=1m[n/i]∗i思路1:l=n/(i+1)+1, r=n/i ==> n/x(l#include #include #include #include #include #include using namespace std;原创 2016-01-14 20:27:44 · 1123 阅读 · 0 评论 -
codeforces 525b Pasha and String
题目链接题意:给出一串字符串,m次询问,每次输入ai,将ai~s-ai+1的字符串翻转,求m次询问后的字符串解题思路:有些部位会重复翻转,先将ai存到数组里面,从小到大排列,从最大的ai开始,如果ai是第奇数个,就翻转,否则不翻转#include #include #include #include #include using namespace原创 2015-07-04 14:05:39 · 593 阅读 · 0 评论 -
codeforces 394C Dominoes
题目链接题意:给出n*m张牌,每张牌上有两个数字,有0和1组成,这两个数字可以互换,重新排列牌的顺序,算出每一列的和,使得这些和的最大值达到最小解题思路:分别计算出11,10,01,00的个数,将10,01的个数相加,这两个数实质上是一样的,因为数字可以互换,从大到小将这几个数放在一个n*m的数组中,其中在放10和01时,一行放10,一行放01蛇行输出即可#原创 2015-07-05 16:38:29 · 572 阅读 · 0 评论 -
CodeForces 557C Arthur and Table
题目链接:http://http://codeforces.com/contest/557/problem/C题意:一张桌子,最长的腿有一半以上就是稳定的,给出n条腿的长度以及卸掉那条退所需要的精力值,求最小需要多少精力使得桌子是稳定的。解题思路:倒着来思考,先按照腿的长度从小到大排序,将长度相等的精力总和记录到数组sum[]里面去举个例子,长度分别为1 1 2 2 3 3 3原创 2015-07-01 22:10:20 · 874 阅读 · 0 评论 -
codeforces 339d(线段树)
题目链接题意:输入n,m以及2^n个数字组成的数组接下来是m行每行输入p,b,将a[p]的值改成b,然后计算数值,计算规则如下:第一次计算b1 = a[1] | a[2] , b2 = a[ 3 ] | a[ 4 ] , b3 = a[ 5 ] | a[ 6 ] , b4 = a[ 7 ] | a[ 8 ] 第二次计算c1 = b1^b2 , c2 = b3原创 2015-07-09 16:05:26 · 1082 阅读 · 0 评论 -
CodeForces 14C Four Segments
题意:给出四条线段的起点,终点坐标,四条线段平行或垂直坐标轴,问这四条线段能否构成矩形 矩形的特征就两点,对边等长平行,有四条边,抓住这几点就可以了#include #include #include using namespace std;struct node{ __int64 x1,y1,x2,y2,len;}a[4];struct node1{ __in原创 2015-05-31 21:41:30 · 813 阅读 · 0 评论 -
CodeForces 300C Beautiful Numbers(排列组合 乘法逆元)
题意:给出a,b,n三个数一串由a,b组成的长度为n的数,各个数位相加和为sum,若sum也是由a,b组成的,那么ans++求最终的ans值 思路:0~n枚举过去,暴力若此时的sum满足条件,那么那就算出这个条件下的组合数,加到ans上去c( n,m ) = f[ n ]/(f[ m ]*f[ n-m ])乘法逆元:当mod = prime时,则(a/b)%原创 2015-05-04 22:12:50 · 1151 阅读 · 0 评论 -
CodeForces 296B Yaroslav and Two Strings (容斥)
题意:两串长为n的字符串,若满足s[ i ] >w[ i ] && s[ j ] 给出的字符串是由0-9以及?组成的,?是未知的意思,可代替0-9任意一个数,问一共有多少个non-comparable 解题思路:数字的处理很简单,两者比一下就可以了,主要是?难处理,提及容斥原理,那么不难想到用ans记录所有的情况,那么每遇到一个?就乘以10(不考虑大小,0-9十个数均可原创 2015-05-03 23:37:07 · 682 阅读 · 0 评论 -
codeforces535C:Tavas and Karafs(二分)
Karafs is some kind of vegetable in shape of an1 × h rectangle. Tavaspolis people love Karafs and they use Karafs in almost any kind of food. Tavas, himself, is crazy about Karafs.Each Karafs原创 2015-04-27 20:42:41 · 874 阅读 · 2 评论 -
CodeForces 557D Vitaly and Cycle(二分图求解)
题目链接题意:给出n个点以及m条边,以及没条边的两个点,求最少添加几条边能得到一个奇环,以及添加边的方法数解题思路:添加的边只有四种可能,0,1,2,30条边:本身就有奇环 ==> 0 12条边:每条边都没有公共点 ==> 2 m*(n-2)3条边:当且仅当m=0时成立 ==> 3 n*(n-1)*(n-2)/6比较难搞的就是一条边的时候原创 2015-07-03 19:50:22 · 724 阅读 · 0 评论 -
codeforces 390c Inna and Candy Boxes
题目链接题意:一串由n个0或1组成的数,w次访问,每次访问输入l,r经过一些操作,使得在第l个到第r个之间,只有在l+k-1,l+2k-1,l+3k-1……的位置是1,其他位置是0每次操作,只能把1变0或把0变1求每次访问需要的操作次数解题思路:最直接的方法就是先求前缀和,再判断特殊位置有几个1,几个0,然后再加加减减,可是这样会超时k最大是10,那我们就先原创 2015-07-06 21:26:35 · 517 阅读 · 0 评论 -
codeforces 552E Vanya and Brackets(暴力)
题目链接:http://codeforces.com/contest/552/problem/E题意:给出一串式子,添加一队小括号,使得最终值最大,并输出最大值,式子里只包含1~9这9个数解题思路:括号可以添加在任意位置,然而‘(’放在‘+’前面以及‘)’放在‘+’前面是没有意义的,数值不会变所以‘(’放‘*’后面,‘)’放‘*’前面式子最长就只有5000,乘号最多原创 2015-07-19 20:44:17 · 637 阅读 · 0 评论 -
codeforces 572D Minimization
题目链接:http://http://codeforces.com/problemset/problem/572/D当k=1的时候,从小到大排序求相邻差值的和,那就是最小值当k>1的时候,先看个例子数列1 4 5 8 10 k=2 那么相邻的差值之和就是10那么可以分成2个数字一段,3个数字一段如果结果是1 4 5 8 10 最终的差值和就是10-原创 2015-09-18 21:29:55 · 668 阅读 · 0 评论 -
codeforces 560C Gerald's Hexagon(找规律)
题目链接:http://codeforces.com/contest/560/problem/C题意:输入一个六边形的六条边,(保证这个六边形的每个内角是120度)在六边形内部画一些线求构成的等边三角形的个数解题思路:先分析内角均是120度的六边形的特征先看两种特殊情况左边那个是6条边全部相等右边那个是a2 = a6 && a3原创 2015-07-23 01:36:40 · 1194 阅读 · 0 评论 -
codeforces 552C Vanya and Scales(进制转化)
题目链接:http://codeforces.com/problemset/problem/552/C题意:现有w^0, w^1, w^2……w^100克的秤砣给出w,m问能不能用上诉的秤砣算出m,秤砣可以放天平的左右两边,每个秤砣只能用一次可以就输出YES,不可以就输出NO比如:输入3 73+7 = 9+1输出YES解题思路:先看一个特殊情原创 2015-07-19 15:02:23 · 803 阅读 · 0 评论 -
codeforces 558C Amr and Chemistry(位操作)
题目链接:http://codeforces.com/problemset/problem/558/C题意:给出n个数,可以乘2,也可以除2,用最少的操作使得最终n个数相等解题思路:将每个数 x 乘2,除2,全部都遍历一遍其中出现奇数时,要再次乘2,直到大于100000比如:x=3乘2:6,12,24,……除2:1由于1是奇数,又可以由1得到:2原创 2015-07-16 16:56:57 · 544 阅读 · 0 评论 -
codeforces 552B ZgukistringZ
题目链接:http://http://codeforces.com/contest/551/problem/B原创 2015-07-16 11:30:12 · 549 阅读 · 0 评论 -
codeforces 551C(二分)
题目链接:http://codeforces.com/contest/551/problem/C题意:一共有n个空地,数轴1~n,每个空地上有a[i]块石头,有m个学生,目标是删除所有石头,一开始所有学生都站在x=0的地方,一开始所有学生都站在 x=0的地方,问删除所有石头的最短时间解题思路:最后一个有石头的空地记为p,石头总和记为ans那么时间的范围是p~p+原创 2015-07-16 16:15:01 · 611 阅读 · 0 评论