ACM-ICPC实验室20.2.22测试-动态规划
Posted zhanglichen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ACM-ICPC实验室20.2.22测试-动态规划相关的知识,希望对你有一定的参考价值。
C.田忌赛马
直接贪心做就可以~
#include<bits/stdc++.h> using namespace std; const int maxn=10014; int a[maxn],b[maxn]; int main() { int n; while(~scanf("%d",&n)) { for(int i=0;i<n;i++) scanf("%d",&b[i]); for(int i=0;i<n;i++) scanf("%d",&a[i]); sort(a,a+n); sort(b,b+n); int x1=0,y1=0; int x2=n-1,y2=n-1; int ans=0; for (int i=0;i<n;i++) { if (a[x1]>b[y1]) { ans+=100; x1++; y1++; } else if(a[x1]<b[y1]) { ans-=100; x1++; y2--; } else { if(a[x2]>b[y2]) { ans+=100; x2--; y2--; } else if (a[x1]<b[y2]) { ans-=100; x1++; y2--; } } } printf("%d ",ans); } return 0; }
D.202020
最简单的dp~
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int maxn=1e6+14; ll dp[maxn],dp1[maxn]; int main () { string s; cin>>s; if (s[0]==‘2‘) dp[0]=0,dp1[0]=1; else dp[0]=1,dp1[0]=0; for (int i=1;i<s.length();i++) { if (s[i]==‘2‘) dp[i]=dp1[i-1],dp1[i]=dp[i-1]+1; else dp[i]=dp[i-1]+1,dp1[i]=dp1[i-1]; } ll ans=0; for (int i=0;i<s.length();i++) ans+=dp[i]; printf ("%lld ",ans); return 0; } //2020
以上是关于ACM-ICPC实验室20.2.22测试-动态规划的主要内容,如果未能解决你的问题,请参考以下文章