![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Codeforces
ProboxDu
这个作者很懒,什么都没留下…
展开
-
Codeforces 630Q
题目链接【题意】分别给你一个边长相等的三棱锥,四棱锥,五棱锥,并给出各边长,求总体积和【分析】椎体的面积是S*h/3,给出各边边长很容易求得底面积S,然后再求出h即可。一开始看错题意,以为给的是h,下面代码是直接改的原来的代码,未免有些麻烦。显然顶点在底面的投影点是正n边形的中心。然后根据可以设中心到到边上点的距离为x,t为各边边长,中心与边上相邻两点连线形成的夹角为p,那么显然底面积S=n*原创 2017-07-11 08:44:05 · 469 阅读 · 0 评论 -
Codeforces 630J
题目链接【题意】求1~n中能整除2~10的数的数量,其中n<=10^18【分析】能整除2~10的数一定是他们的公倍数,然后易得他们的最小公倍数为2^3*3^2*5*7=2520故能整除2~10的数与能整除2520等价然后只要看看这些数中有多少是2520的倍数就好啦注意用long long【Code】#include<cstdio>#include<cstring>#include<ios原创 2017-07-11 08:52:55 · 163 阅读 · 0 评论 -
Codeforces 630K
题目链接【题意】求1~n中有多少数不被2~10的任意数整除.n<=10^18【分析】不能被2~10的任意数整除等价于不能被2,3,5,7整除,但是显然一个个试除并不现实,那么我们可以根据容斥原理求得能被2,3,5,7整除的数再减去这些数即可【Code】#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>原创 2017-07-11 08:59:43 · 257 阅读 · 0 评论 -
Codeforces 630P
题目链接【题意】给定一个圆并给出n,r,求圆内接正n角星的面积,其中5<n<10^9并且n是素数,1<r<10^9【分析】以样例为例,首先很容易的找到圆心, 然后设图中角2=p,易得角1=p/2,而且有p=2*PI/n(圆周角是圆心角的一半)并且显然正n角星的面积是图中蓝色四边形的n倍,已知角1角2,而又有对称的两个角,根据正弦定理可以求出小蓝线的长度,然后可以得出黑色短线的长度,最后可以求得蓝原创 2017-07-11 09:29:30 · 193 阅读 · 0 评论 -
Codeforces 808D
题目链接【题意】给定一个长度为n的序列,问是否可以最多移动一个数字,使该数列可以分成两部分且这两部分和相等,n<=100000【分析】可以假设有个隔板从左向右扫(假设这就是最终的划分结果),每次两边的和的差值为x,若能在和较大的序列找到一个数为x/2,则将它放到另一边就满足条件。这样扫一遍是O(n)的,但是数据是无序的,由于n<=100000,不能通过O(n^2)的暴力查找来做,可以通过平衡树来原创 2017-07-11 10:45:08 · 217 阅读 · 0 评论 -
Codeforces 689D RMQ+二分
题目链接【题意】给定长度为n的两个序列,寻找区间l,r使得这段区间上的max(a[i]) = min (b[i]),求满足条件的l,r数对的数量【分析】在固定l后,随着r的增加,max(a[i])-min(b[i])是不减的所以可以通过二分求得max(a[i]) = min(b[i])的两个边界具体做法就是通过RMQ维护区间最值,枚举l然后通过二分确定边界r,记录答案【Code】#inclu原创 2017-07-13 15:04:06 · 269 阅读 · 0 评论