【LGR-153-Div.2】梦熊联盟 8 月月赛 Ⅳ & Cfz Round 1 & 飞熊杯 #1
【LGR-153-Div.2】梦熊联盟 8 月月赛 Ⅳ & Cfz Round 1 & 飞熊杯 #1
\(T1\) luogu P9577 「Cfz Round 1」Dead Cells \(100pts\)
- 正解:
- 模拟(注意特判)
ll gcd(ll a,ll b){return b?gcd(b,a%b):a;} int main() { ll a,b,k,d,i,ans=1; cin>>a>>b>>k; d=a/gcd(a,b)*b; for(i=1;i<=k;i++) { if(i%d!=0) { if(i%a==0) { ans=(ans*2)%p; } if(i%b==0) { if(ans>=2)//特判 { ans=(ans*499122177)%p; } } } } cout<<ans<<endl; return 0; }
- 数学解法
\(T2\) luogu P9578 「Cfz Round 1」Permutation \(0pts\)
- 打表+手搓样例,发现构造出的排列 \(\{p_n\}\) ,一定有 \(p_i+p_{i+1} \in[n,n+1,n+2](1 \le i \le n-1)\) ,所以有 \(f(\{p_n\})=2\) ,然后对 \(n\) 的奇偶性进行分类讨论:
- 当 \(n\) 为奇数时,发现构造出的排列 \(\{p_n\}\) ,若满足 \(p_i+p_{i+1}=n,p_{i+1}+p_{i+2}=n+2(1 \le i \le n-2),p_1+p_n=n+1\) 即为满足题意的一组解。
- 当 \(n\) 为偶数时,与 \(n\) 为奇数时的情况大抵类似。但补充条件为当 \(i=\dfrac{n}{2}\) 时,若有 \(p_i+p_{i+1}=n+1\) ,即为满足题意的一组解。
- 貌似有些乱搞做法在里面,有会证明的@我。
int main() { int n,i,ans=1,sum,num; cin>>n; sum=2*n+2; num=n; if(n%2==0) { for(i=1;i<=n;i++) { cout<<ans<<" "; if(i==n/2) { ans=n-ans+1; } else { ans=num-ans; num=sum-num; } } } else { for(i=1;i<=n;i++) { cout<<ans<<" "; ans=num-ans; num=sum-num; } } return 0; }
\(T3\) luogu P9579 「Cfz Round 1」Elevator) \(0pts\)
- 有时间再做,暂时咕了。
\(T4\) luogu P9580 「Cfz Round 1」Wqs Game \(0pts\)
- 有时间再做,暂时咕了。
总结
本文来自博客园,作者:hzoi_Shadow,原文链接:https://www.cnblogs.com/The-Shadow-Dragon/p/17659284.html,未经允许严禁转载。
版权声明:本作品采用 「署名-非商业性使用-相同方式共享 4.0 国际」许可协议(CC BY-NC-SA 4.0) 进行许可。