赞
踩
Problem - A - CodeforcesCodeforces. Programming competitions and contests, programming community
https://codeforces.com/contest/1550/problem/A签到:
- #include<bits/stdc++.h>
- #define int long long
- using namespace std;
- const int N =5e5+10,mod=998244353;
- void solve()
- {
- int n;
- cin>>n;
- int ans=sqrt(n);
- if(ans*ans<n)
- ans++;
- cout<<ans<<"\n";
- return ;
- }
- signed main()
- {
- int t;
- cin>>t;
- while(t--)
- solve();
- return 0;
- }

题意:给你一个01字符串,我们每次可以删除相连的且内部每个字符都相等的子串.每次删除的长度为l,那么对于答案的贡献就是a*l+b,a和b都是需要进行输入的.问最大贡献是多少.
思路:当n<0时,我们一个字符一个字符的取最大,当b<0时我们就要让加上的b的个数尽量的少,也就是取的次数尽量的少,我们就要么全部删除1,要么全部删除0,最后剩下的字符串一次删.呢么对于这些情况取max即可.
- #include<bits/stdc++.h>
- #define int long long
- using namespace std;
- const int N =5e5+10,mod=998244353;
- void solve()
- {
- int n,a,b,ans;
- string s;
- cin>>n>>a>>b>>s;
- int cnt=1;
- for(int i=1;i<s.size();i++)
- {
- if(s[i]!=s[i-1])
- cnt++;
- }
- ans=max(n*a+b*(cnt/2+1),(a+b)*n);
- cout<<ans<<"\n";
- }
- signed main()
- {
- int t;
- cin>>t;
- while(t--)
- solve();
- return 0;
- }

题目读错了,子串读成子序列...
题意:给你一个数组,定义某种计算:d(p,q)=|xp−xq|+|yp−yq|.定义坏东西:d(p,r)=d(p,q)+d(q,r).求一个数组中有多少个子数组,保证任取三个元素都是好东西.素组元素为(ai,i);
我们直接列出式子进行变形.设取i,j,k三个位置的数(i<j<k)

在进行分析,当长度len==1,len==2时合法
len==3和len==4时进行判断,当n>=5了就肯定合法(总能枚举上升的)那么对于3,和4的情况枚举即可
- #include<bits/stdc++.h>
- #define int long long
- using namespace std;
- const int N =5e5+10,mod=998244353;
- int a[200005];
- int check(int x,int y,int z)
- {
- if(x<=y&&y<=z)
- return 1;
- else if(x>=y&&y>=z)
- return 1;
- return 0;
- }
- void solve()
- {
- int n,ans;
- cin>>n;
- for(int i=1;i<=n;i++)
- cin>>a[i];
- ans=2*n-1;
- if(n>=3)
- {
- for(int i=1;i<=n-2;i++)
- if(check(a[i],a[i+1],a[i+2])==0)
- ans++;
- }
- if(n>=4)
- {
- for(int i=1;i<=n-3;i++)
- if(check(a[i],a[i+1],a[i+2])||check(a[i],a[i+1],a[i+3])||check(a[i],a[i+2],a[i+3])||check(a[i+1],a[i+2],a[i+3]));
- else
- ans++;
- }
- cout<<ans<<"\n";
- return ;
- }
- signed main()
- {
- int t;
- cin>>t;
- while(t--)
- solve();
- return 0;
- }

D才过了300人,直接skip
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。