摘要:
这类求最优连续子序列的题一般是枚举右端点,然后根据题目要求更新左端点,一般是nlogn,右端点枚举是n,左端点是logn难点在于如何更新左端点用一些例子试一下可以发现每次加进一个新元素的时候前面的元素都要再取一遍gcd然后gcd同的时候i尽量大为了去重,我们需要排序,... 阅读全文
摘要:
这道题是对称的所以只算“\”, 最后答案再乘以2然后每一条直线看作一个包围盒枚举包围盒的长宽有两种情况会重复(1)包围盒里面有包围盒。这个时候就是在一条直线上那么我们就gcd(x,y)>1的时候舍去因为在一条直线上只取gcd(x,y)=1这个点以后注意一条直线上去重问... 阅读全文
摘要:
只看一个象限简化问题,最后答案乘4+4象限里面枚举x, 在当前这条固定的平行于y轴的直线中分成长度为x的一段段。符合题目要求的点gcd(x,y) = 1那么第一段1#include#define REP(i, a, b) for(int i = (a); i 1) ... 阅读全文
摘要:
这里用到了一些数论知识首先素因子都大于M等价与M! 互质然后又因为当k与M!互质且k>M!时当且仅当k mod M! 与M!互质(欧几里得算法的原理)又因为N>=M, 所以N!为M!的倍数所以只要求1到M!中与M!互质的数的个数,在乘上N!/M!可以理解为每一块M!有... 阅读全文
摘要:
可以发现余数是成一段一段的等差数列的。在商数同的时候,余数是成首项为第一个数的余数,公差为商数的等差数列。利用这个性质求解即可。#include#include#define REP(i, a, b) for(int i = (a); i 0) cnt = min(... 阅读全文
摘要:
用欧拉公式V-E+F=2V是顶点数,E是边数,F是面数具体推导见https://blog.csdn.net/QWsin/article/details/53635397要用高精度#include#include#include#include#include#incl... 阅读全文