P11277 世界沉睡童话

笔记

P11277 世界沉睡童话 观察到一个性质,就是 [n,2n)[n,2n) 中每个数相互无法整除。 又观察到 1 可以带来 n−1n-1 的贡献,xx 个相同的数可以带来 x(x−1)2\frac {x(x-1)}{2} 的贡献, 所以根据这个性质模拟即可。 代码: #include using namespace std; #define int long long const int N=1e7+5; int n,k; signed main(){ cin>>n>>k; int idx=n; while(k>=n-1&&n>0){ k-=(--n); cout0){ int x=(1+sqrt(1+8*k))/2; for(int i=1;i `#include using namespace std; #define int long long const int N=1e7+5; int n,k; signed main(){ cin>>n>>k; int idx=n; while(k>=n-1&&n>0){ k-=(--n); cout"1 "; } while(n>0){ int x=(1+sqrt(1+8*k))/2; for(int i=1;i" "; idx++; k-=x*(x-1)/2,n-=x; } return 0; }`

Read more · Journal