01 2021 档案
摘要:A 这题WA了2次,出师不利。n>k的情况很特殊,若n%k==0答案是1,否则是2,n<=k时,答案是k/n上取整 #include<bits/stdc++.h> using namespace std; int main() { int T,n,k,rest;scanf("%d",&T); whi
阅读全文
摘要:签到场…… ABC 签到 D 设等差数列位[s+1,...,s+t],则和为t(2s+t+1)/2=n,也就是t(2s+t+1)=2n,枚举2n的因子t,判断(2n)/t是否为奇数即可,记得每次+2(因为[-i,...,i]=0) #include<bits/stdc++.h> using name
阅读全文
摘要:30pts:善用next_permutation 50pts:先枚举每一位是否有进位,设进位为di=0/1,然后a[i]+b[i]+d[i-1]-10d[i]=c[i],移项后为a[i]+b[i]-c[i]=10d[i]-d[i-1],n位形成n个方程组,可以进行高斯消元,时间复杂度O(2^n*n^
阅读全文
摘要:此题放到提高组感觉都好难……至少以我高一结束时的水平是无法做出来的…… 思维难度十分大。 要保证后k位答案相同,首先得保证后(k-1)位答案相同,于是先处理后(k-1)位,以此类推……于是从第一位开始这么做,最终只要比较当前位即可。若乘了10次仍不同,说明不循环,答案就是-1。 时间复杂度O(10n
阅读全文
摘要:AB 签到 C 大力DP,f[i][j]表示走到当前位置的方案数,但问题是无法考虑没走过路径的未填位置。不过很好解决,向右走的时候实际方案=原方案数*3^(走过的列下侧的未填位置数),向下走的时候实际方案=原方案数*3^(走过的行右侧的未填位置数),这样可以处理掉所有的未填位置。 #include<
阅读全文
摘要:由于不想被退学忙于学习,好久不打了…… A 感觉不是那么签到……问题可以转化为10^n=am^2+bm+c,求b,然后就转化为普通的快速幂即可 #include<bits/stdc++.h> using namespace std; long long n; int m,a=10,ret=1; in
阅读全文

浙公网安备 33010602011771号