A:

题意:

有ABC的三种菜,现在有a个A,b个B,c个C,问能组成多少种不同菜单

思路:

abc都大于等于4,肯定是7种,给abc排个序,从大到小举例删减

 #include<bits/stdc++.h>
using namespace std;
#define ll long long
#define il inline
#define it register int
#define inf 0x3f3f3f3f
#define lowbit(x) (x)&(-x)
#define mem(a,b) memset(a,b,sizeof(a))
#define modd 998244353
const int maxn=1e5+;
int n,m,t;
bool cmp(int a,int b){
return a>b;
}
int main(){
scanf("%d",&t);
while(t--){
int a[];
scanf("%d%d%d",&a[],&a[],&a[]);
sort(a,a+,cmp);
if(a[]>= && a[]>= &&a[]>=){printf("7\n");}
else{
int ans=;
if(a[]>){a[]--;ans++;}
if(a[]>){a[]--;ans++;}
if(a[]>){a[]--;ans++;}
if(a[]> && a[]>){a[]--,a[]--;ans++;}
if(a[]> && a[]>){a[]--,a[]--;ans++;}
if(a[]> && a[]>){a[]--,a[]--;ans++;}
if(a[]> && a[]> && a[]>){a[]--,a[]--,a[]--;ans++;}
printf("%d\n",ans);
}
}
return ;
}

B:

题意:

一个人的在N个人,第一次排名是a,第二次排名是b,总排名分数是a+b,N个人从小到大排序,问他可能在N里面最小排多少名,最大排多少名

如果同分的话按照同分后面一名的名次-1来算

思路:

最大排名maxpos=min(x+y-1,N)

最小排名,就要比较中间值了,如果x+y<n+1,minpos=1,如果大于就是minpos=min(n,x+y-n+1);

 #include<bits/stdc++.h>
using namespace std;
#define ll long long
#define il inline
#define it register int
#define inf 0x3f3f3f3f
#define lowbit(x) (x)&(-x)
#define mem(a,b) memset(a,b,sizeof(a))
#define modd 998244353
const int maxn=1e5+;
int n,m,t,x,y;
int main(){
scanf("%d",&t);
while(t--){
scanf("%d%d%d",&n,&x,&y);
int maxx=min(x+y-,n),k=,minn=;
int zhong=n;
zhong++;
if(x+y<zhong){minn=;}
else{
minn+=(x+y-n);
}
minn=min(minn,n);
printf("%d %d\n",minn,maxx);
}
return ;
}

C1:

题意:

N长度为1000以内,一个数字两边的数字不能都比他高,最多高一边

求他最大sum。叙述有问题,直接看样例

3

10 6 8

因为6左右都比他高,选择10 6 6或者6 6  8,sum明显前者高

所以答案输出10 6 6

思路:

暴力

 #include<bits/stdc++.h>
using namespace std;
#define ll long long
#define il inline
#define it register int
#define inf 0x3f3f3f3f
#define lowbit(x) (x)&(-x)
#define mem(a,b) memset(a,b,sizeof(a))
#define modd 998244353
const int maxn=1e5+;
int n,a[],b[];
int main(){
scanf("%d",&n);
int pos;
ll maxx=-;
for(it i=;i<=n;i++){
scanf("%d",&a[i]);
}
for(it i=;i<=n;i++){
int zhi=a[i];ll sum=(ll)a[i];
for(it j=i+;j<=n;j++){
if(a[j]<zhi){
zhi=a[j];
}
sum+=(ll)zhi;
}
zhi=a[i];
for(it j=i-;j>;j--){
if(a[j]<zhi){
zhi=a[j];
}
sum+=(ll)zhi;
}
if(sum>maxx){
maxx=sum;pos=i;
}
}
int zhi=a[pos];b[pos]=a[pos];
for(it i=pos+;i<=n;i++){
if(a[i]<zhi){
zhi=a[i];
}
b[i]=zhi;
}
zhi=a[pos];
for(it i=pos-;i>;i--){
if(a[i]<zhi){
zhi=a[i];
}
b[i]=zhi;
}
for(it i=;i<=n;i++){
printf(i==n?"%d\n":"%d ",b[i]);
}
return ;
}

待补C2DE

题外话:

因为这场B题费时太久,wa的太多,在看C2的时候,感觉是个dp,然后wa了两发,时间也来不及直接暴力去过C1了

D题感觉是个贪心

B题因为minn的x+y-n+1可能大于n这点,一直没考虑清楚,wa到自闭,幸好最后还是看到了

这场人也少,比的不好

upd:

已补题:C2

Codeforces Round #622 (Div. 2)的更多相关文章

  1. Codeforces Round #622 (Div. 2) C2. Skyscrapers (hard version)(单调栈,递推)

    Codeforces Round #622 (Div. 2) C2. Skyscrapers (hard version) 题意: 你是一名建筑工程师,现给出 n 幢建筑的预计建设高度,你想建成峰状, ...

  2. Codeforces Round #622 (Div. 2) B. Different Rules(数学)

    Codeforces Round #622 (Div. 2) B. Different Rules 题意: 你在参加一个比赛,最终按两场分赛的排名之和排名,每场分赛中不存在名次并列,给出参赛人数 n ...

  3. Codeforces Round #622 (Div. 2) A. Fast Food Restaurant(全排列,DFS)

    Codeforces Round #622 (Div. 2) A. Fast Food Restaurant 题意: 你是餐馆老板,虽然只会做三道菜,上菜时还有个怪癖:一位客人至少上一道菜,且一种菜最 ...

  4. Codeforces Round #622 (Div. 2).C2 - Skyscrapers (hard version)

    第二次写题解,请多多指教! http://codeforces.com/contest/1313/problem/C2 题目链接 不同于简单版本的暴力法,这个数据范围扩充到了五十万.所以考虑用单调栈的 ...

  5. Codeforces Round #622 (Div. 2)C2 Skyscrapers最大"尖"性矩形,思维||分治

    题:https://codeforces.com/contest/1313/problem/C2 题意:给出n个数,分别代表第i个位置所能搭建的最大高度,问以哪一个位置的塔的高度为基准向左的每一个塔都 ...

  6. Codeforces Round #622 (Div. 2) 1313 B Different Rules

    B. Different Rules Nikolay has only recently started in competitive programming, but already qualifi ...

  7. Codeforces Round #622(Div 2) C1. Skyscrapers (easy version)

    题目链接: C1. Skyscrapers (easy version) 题目描述: 有一行数,使得整个序列满足 先递增在递减(或者只递增,或者只递减) ,每个位置上的数可以改变,但是最大不能超过原来 ...

  8. Codeforces Round #622 (Div. 2) C2 - Skyscrapers (hard version) 单调栈

    从左往右扫,找到比第i个小的第一个数字,l[i] = l[last] + (i - last) * m[i],用单调栈O(n)维护这个过程,再从右往左扫,同理可以算出r数组,注意一下long long ...

  9. Codeforces Round #622 (Div. 2)C(单调栈,DP)

    构造出的结果一定是一个单峰/\这种样子的 #define HAVE_STRUCT_TIMESPEC #include<bits/stdc++.h> using namespace std; ...

  10. Codeforces Round #622 (Div. 2)C2

    题意 N长度为500000以内,一个数字两边的数字不能都比他高,最多高一边 求他最大sum.叙述有问题,直接看样例 3 10 6 8 因为6左右都比他高,选择10 6 6或者6 6  8,sum明显前 ...

随机推荐

  1. 申请一个美国paypal账户

    近期为了做PayPal支付,进口demo已经写好,就差一个美国PayPal账户进行支付测试,几经折腾,终于申请下来,附上参考链接:   paypal官网: https://www.paypal.com ...

  2. PP: A multi-horizon quantile recurrent forecaster

    2017 NIPS, time series workshop traditional methods: ARIMA. Seq2Seq quantile forecast; RELATED WORK ...

  3. js监听页面copy事件添加版权信息

    个人博客 地址:http://www.wenhaofan.com/article/20180921103346 1.介绍 当页面需要做版权保护时,比如当用户copy我们网站的文章时,我们会希望在他co ...

  4. const真有点烦

    在C++中const代替#define的操作,当定义一个const时必须附一个值给它:const int size = 100;通常C++编译器不为const创建存储空间,相反它把这个定义保存在符号表 ...

  5. ASP.NET MVC4中对JS和CSS的引用

    https://www.cnblogs.com/madyina/p/3702314.html ASP.NET MVC4中对JS和CSS的引用又做了一次变化,在MVC3中我们这样引用资源文件: < ...

  6. day01_2spring3

    Bean基于XML和基于注解的装配 一.Bean基于XML的装配 1.生命周期接着day01_1来讲(了解) Bean生命周期的如图所示:用红色框起来的都是我们要研究的! 如图Bean is Read ...

  7. 本地项目如何上传到github

      首先登录官网注册用户(此处不多介绍),然后需要登录github创建仓库 https://github.com/ 然后取一个自己喜欢的名字(这里我的名字是webclock),点击Create rep ...

  8. Java EE 7 API

    学习Java必备资源,下载链接: https://pan.baidu.com/s/1P1xzuoGJCIuZlYBbPSbM_Q 提取码: dtui 复制这段内容后打开百度网盘手机App,操作更方便哦

  9. java内部类概念

    一.成员内部类作为外部类的成员存在的类,则称之为成员内部类 public class OuterClass{ public class InnerClass{ } } 成员内部类样例 成员内部类具有如 ...

  10. Mike and strings

    Mike has n strings s1, s2, ..., sn each consisting of lowercase English letters. In one move he can ...