本文共 1117 字,大约阅读时间需要 3 分钟。
D - Staircase Sequences
https://atcoder.jp/contests/abc190/tasks/abc190_d分解因数,枚举
#includeusing namespace std;typedef long long LL;set > st;//(r + l)*(r - l + 1) = 2 * N;// x * y = 2 * N;//分解因子int main() { LL N; scanf("%lld", &N); N *= 2; LL res = 0; pair t; for(LL i = 1; i * i <= N; i++) { //别忘了i也要LL; if(N % i == 0) { LL x = i, y = N / i; if((x + y - 1) % 2 == 0) { LL r = (x + y - 1) / 2; LL l = (x - r); t.first = l, t.second = r; if(l <= r && st.find(t) == st.end()) { //printf("ok: %d %d\n", l, r); res ++; st.emplace(t); } swap(x, y); l = (x - r); t.first = l; if(l <= r && st.find(t) == st.end()) { //printf("ok: %d %d\n", l, r); res ++; st.emplace(t); } } } } printf("%lld\n", res); return 0;}
转载地址:http://jfcb.baihongyu.com/