摘要:比如a*bif b%2==1 res=(res+a)%pelse a=(a+a)%pb/=2;==不错好思想,学习了 1 #include 2 #include 3 #include 4 using namespace std; 5 #define LL long long 6 LL mul(LL ...
阅读全文
摘要:其实读懂题意之后,题目总体还是比较好做的,除了个别地方==什么叫保证稳定呢,就是取完这个木块之后,木块的上面,左上,右上不因为他被拿了而没有支点首先要能想到用包含pair的map来判断某个坐标有没有木块(stl真方便set里面放的都是当前可以取的木块,用set来实现取最大值,取最小值,加木块,删木块...
阅读全文
摘要:很末尾到首开始看每一位对总和的贡献=倒数第一位:贡献了C(n-1,k)次个位数倒数第二位:贡献了C(n-2,k-1)次个位数,C(n-2,k)次十位数倒数第三位:贡献了C(n-2,k-1)次个位数,C(n-3,k-1)次十位数,C(n-3,k)次倒数第四位:贡献了C(n-2,k-1)次个位数,C(n...
阅读全文
摘要:记录前缀价值和,开26个map保存某字符的某价值出现的次数,再次出现加上即可= 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 mapmp[28]; 7 char s[100005]; 8 int main()...
阅读全文
摘要:额现在才补==这题当时是cp各种姿势打表发现的==然后我大胆用了类似筛法写了一下,竟然给过了==规律:如果gcd(a, b) = xor(a, b) = c, 则 c = a - b然后就能利用c来筛了 1 #include 2 #include 3 int vis[30000005],sum[30...
阅读全文
摘要:n条线段m个点,对于每个点,求出控制他的所有线段中控制范围最大的长度:每条范围内线段控制范围=min(x-a[i].l,a[i].r-x)这个二分好难想到TUT按左端点从小到大,右端点从大到小排序,要知道在处理之后最大范围肯定出现在相邻两个区间内==thinking然后二分。。。。。二分后的两个区间...
阅读全文
摘要:将n转化为黄金进制,注意到题目中所给fai进制公式:f[n-1]+f[n-2]=f[n],2*f[n]=f[n+1]+f[n+2]然后设a[50]为n,这样一遍一遍利用这两个公式变换,一直到无法变换。 1 #include 2 #include 3 int a[105]; 4 int main() ...
阅读全文
摘要:无负数:1 inline int nextInt() { 2 char c; 3 while (c = getchar(), c '9'); 4 int r = c - '0'; 5 while (c = getchar(), c >= '0' && c ...
阅读全文
摘要:要知道k倍数最多到2^20,然后暴力枚举On判断就好啦! 1 #include 2 #include 3 #include 4 using namespace std; 5 int a[55],b[55]; 6 char s[55]; 7 int main() 8 { 9 int k,len,i...
阅读全文
摘要:1 #include 2 #include 3 #include 4 using namespace std; 5 #define LL long long 6 LL f[1005],a[1005][105],b[1000005]; 7 int main() 8 { 9 LL n,k,i,...
阅读全文
摘要:1 #include 2 #include 3 #include 4 using namespace std; 5 #define eps 1e-9 6 long long sum1[50005],sum2[50005]; 7 int a[50005]; 8 int main() 9 {10 ...
阅读全文
摘要:1 #include 2 #include 3 int y[5005]; 4 int num[5005]; 5 char s[15]; 6 int main() 7 { 8 int T,i,j,k,x,u,n,flag,cnt,top,yy,maxx,nn; 9 /...
阅读全文
摘要:1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 mapans; 7 pairmp1[100005]; 8 pairmp2[100005]; 9 int a[100005];10 int gcd(int x,i...
阅读全文
摘要:1 #include 2 #include 3 int main() 4 { 5 int i,j,k,n,m,c1[10005],c2[10005]; 6 while (~scanf("%d",&n)) 7 { 8 for (i=0;i<=n;i++) ...
阅读全文
摘要:1 #include 2 #include 3 #include 4 using namespace std; 5 int hash[100005],k[100005],a[100005]; 6 int main() 7 { 8 int n,sum,i,j,x,sum1,t; 9 ...
阅读全文
摘要:#include#include#includeusing namespace std;char s[100005];int t;struct dian{ friend bool operator n2.x); } int node,l,r,x;};dian n[105],n1...
阅读全文