cf1206解题报告
生活随笔
收集整理的這篇文章主要介紹了
cf1206解题报告
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- cf1206解題報告
- A
- B
- C
- D
- E,F
cf1206解題報告
A
模擬
#include <bits/stdc++.h> using namespace std; int n,m,a[1010],b[12910]; int dsr[1111]; int main() {scanf("%d",&n);for(int i=1;i<=n;++i) scanf("%d",&a[i]),dsr[a[i]]=1;scanf("%d",&m);for(int j=1;j<=m;++j) scanf("%d",&b[j]),dsr[b[j]]=1;for(int i=1;i<=n;++i) {for(int j=1;j<=m;++j) {if(!dsr[a[i]+b[j]]) {cout<<a[i]<<" "<<b[j];return 0;}}}return 0; }B
普及dp,其實不用開數組
#include <bits/stdc++.h> #define ll long long using namespace std; const int _=2e5+7; ll n,a[_],b[_],f[_][2]; int main() {cin>>n;for(ll i=1,x;i<=n;++i) {cin>>x;a[i]=abs(x-1),b[i]=abs(x+1);}f[0][1]=100000000000000000LL;for(ll i=1;i<=n;++i) {f[i][0]=min(f[i-1][0]+a[i],f[i-1][1]+b[i]);f[i][1]=min(f[i-1][1]+a[i],f[i-1][0]+b[i]);}cout<<f[n][0];return 0; }C
貪心,套路,構造
互相差1,那i和i+n+1就是相差1的。
根據樣例可以這樣構造。
\(a[1]=1,a[n+1]=2;\)
\(a[2]=2n,a[n+2]=2n-1;\)
\(a[3]=3,a[n+3]=4;\)
\(a[4]=2n-2,a[n+4]=2n-3;\)
\(…………\)
無解瞎猜偶數,很套路
D
這個題很容易想歪呀。
二進制的x位為1的數的個數有3個及其以上。
答案就是3,且沒有比他再小的ans了。
首先先去掉沒用的0。
剩下的數如果大于120的話,必定有上述情況。
因為每一個數至少包含一位。
然后范圍縮小到100了。
暴力Floyd找最小環,學到了。
E,F
看見交互題就煩,雖然不是不能做。
算了,咕咕了。
轉載于:https://www.cnblogs.com/dsrdsr/p/11375129.html
總結
以上是生活随笔為你收集整理的cf1206解题报告的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Kubernetes CRD开发模式及源
- 下一篇: 2090. 「ZJOI2016」旅行者