Codeforces Round #621 (Div. 1 + Div. 2)(无比自闭的一夜)

菜到自闭自闭~~
欲哭无泪~
深夜一人伤悲~
掉了~
rank–
明天要多刷水题,体验AC***…
真几把自闭

A.题意:不想说了…
一开始把n当成天数了,WWW!!!

W2的代码

#include<bits/stdc++.h>

using namespace std;
int a[105];

int main(){
	int t;
	cin>>t;
	while(t--){
		int n,d;
		cin>>n>>d;
		for(int i=0;i<n;i++){
			cin>>a[i];
		}
		if(n == 1){
			cout<<a[0]<<endl;
			continue;
		}
		int num = d;//天数 
		int k = 1;
			while(num>=k){//天数 
				if(a[k]!=0){//草堆不等于0,那么能移动 
				a[0] += 1;//得到1 
				num -= k;//耗费k天 
				a[k]--;
				}
				else{
					k++;
				}
				if(k==d-1)
				 break;
			}
		cout<<a[0]<<endl;
	} 
	return 0;
} 

AC

#include<iostream>
using namespace std;

int a[105];

int main(){
	int t;
	cin >> t;
	while(t--){
		int n,d;
		cin>>n>>d;
		
		for(int i = 1; i <= n; i++)
			cin >> a[i];
		for (int i = 2; i <= n; i++){
		
			if (d <= 0) break;
			
			if (a[i]*(i - 1)<= d){
				a[1]+= a[i];
				d -= a[i] * (i - 1);
			} 
			else{
				a[1] += d/(i - 1);
				break;
			}
		}
		
		cout<<a[1]<<endl;
	}
	return 0;
}

B题意:不想说了,A调了半个小时

#include <bits/stdc++.h>
#define maxn 100000+7
using namespace std;

typedef long long ll;
//const int maxn 1e5+7;

ll a[maxn];

int main(){
	int t;
	cin >> t;
	while (t--) {
		ll n, x, k = -1;
		bool  flag = 0;
		cin>>n>>x;
		for (int i=1;i<=n;i++) {
			cin >> a[i];
			k = max(a[i], k);
			if (a[i] == x) flag = 1;
		}
		if(flag) {
			cout <<"1"<<endl;
			continue;
		}
		ll ans;
		if(x<k){
			ans = 2;
		} 
		else{
			ans = x / k;
			if(x % k) 
			ans++;
		}
		cout<<ans<<endl;
	}
	return 0;
}

C
我是菜鸡我是菜鸡
呜呜啊~~题都没读懂,完全是另一个题的
W4,竟然还能过去几个样例
曲解题意代码二款:

#include<bits/stdc++.h>
#define inf 0x3f3f3f3f
using namespace std;
typedef long long ll;
set<char> st;
map<char,int> sd;

ll jie[100];

void init()
{
	jie[0]=1;
	for(ll i=1;i<=100;i++)
		jie[i]=i*jie[i-1];
}

ll check(ll num){
	ll ans=1;
	ll flag = num;
	for(ll i =1;i<=(num/2);i++){//循环多少次 
		ans *= flag;
		flag--;
	}
	return ans;
}


int main(){
	init();
	string s;
	cin>>s;
	int l = s.length();
    for(int i=0;i<l;i++){
    	sd[s[i]]++;//记录每个字符出现的次数 
    	st.insert(s[i]);
	}
	if(st.size() == l){
		cout<<1<<endl;
		return 0;
	}
	ll sum = 1;
	for(auto i=sd.begin();i!=sd.end();i++){//单个字母
	   ll res = i->second;
	   //cout<<res<<" "<<endl;
	   sum = sum*(check(res)/jie[res/2]);
	
	}
	cout<<sum<<endl;
	return 0;
}

曲解题意代码一款:

#include<bits/stdc++.h>
#define inf 0x3f3f3f3f
using namespace std;
typedef long long ll;
set<char> st;
map<char,int> sd;


int main(){
	string s;
	cin>>s;
	int l = s.length();
    for(int i=0;i<l;i++){
    	sd[s[i]]++;//记录每个字符出现的次数 
    	st.insert(s[i]);
	}
	if(st.size() == l){
		cout<<1<<endl;
		return 0;
	}

	int maxx =-inf;
	for(auto i=sd.begin();i!=sd.end();i++){//单个字母 
		maxx = max(maxx,i->second);
	}
	int sum = 1;
	for(auto i=sd.begin();i!=sd.end();i++){//全部字母 
	   sum *= i->second;
	}
	cout<<max(sum,maxx)<<endl;

	return 0;
}

没AC~~

更别说后面的都没看了~~

全部评论

相关推荐

小厂面经,也是我的处女面(30min)1.自我介绍2.spring&nbsp;boot的自动装配原理(好多类和接口的单词都忘了全称是啥了,就说了记得的单词,流程应该说对了吧)3.有用过redis吗?主要是用在实现什么功能(说了技术派用redis的zset来实现排行榜)5.有了解过Redisson吗?讲一下对于分布式锁的了解以及在什么场景下应用(说了秒杀场景)6.对mysql有了解吗?包括它的索引优化和创建(把想起来的全说了)7.了解设计模式吗?比如单例模式,为什么要使用单例模式,它的优点是什么(昨天刚看的设计模式)8.工厂模式有了解吗?主要的使用场景是?(也是昨天刚看的)9.场景题:有7个服务器,需要在早上十点定时的向数据库中的用户表中的用户发短信,如果做到发送的消息不重复,且如果发送失败了需要知道是到哪个用户失败了,这样下次就直接从这个用户开始(我答了用spring&nbsp;task来实现定时,用分布式锁来保证只有一份服务器可以发送消息,用消息队列来存储消息,然后用消息确认机制来保证错误信息的记录,以及在数据库或者业务层面完成消息消费的幂等性)10.场景题:如果在系统启动的时间就将数据库的所有用户相关的信息都读到一个hashmap中(这个没啥思路,没答好)27届的投了一个星期终于有一个面试了,大部分公司都只招26的
inari233:已oc,拒了
查看9道真题和解析
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务