CCPC qinhuangdao

菜鸡第一次代表学校参加这样的全国比赛啊....十分的激动==而且惶恐(本着旅游队的心态去好好放松的一下

day1:

北京玩了一波 看到了在中科院的聪聪学长(小熊学长“这题太难了;不懂帮顶 @聪”) 成功的坑了聪学长一波 然后被带着在北京的街上逛了一圈;晚上实在担心接下来的比赛,正好遇上CF 拿着队友的号三人开黑....手速签到2题滚蛋;心态静不下...然后gg;总感觉接下来比赛要出事;

day2:

坐上了去秦皇岛的高铁 看着别的队都在训练讨论着什么 而我们的画风完全不同 在当地同学带领下 吃最便宜但有名的海鲜(2333333自己出钱旅游 只能找接地气的餐馆) 作为一个南方人 人生中第一次看到了大海(在海边写上了女票的名字233333 害羞);

day3:

今天领参赛服,参赛证,准备下午的热身赛,不得不吐槽这次的参赛服,完全环卫工人的既视感 走在大街上 格外引人注意hhhhhhh 对于热身赛 我是要背锅的 首先我心态炸了....然后对于队友的态度很不耐烦 也就带动了三个人的同时崩盘  记得b题没考虑到两边同时取log然后比大小这种情况 直接gg 目测C题很难  然后 然后 其实就是一个sb题啊直接输出就行了(没跟上脑洞 其实太自信的没看榜 23333) 热身赛铁牌滚蛋

day4:

9点的正式赛 一晚上没睡好 早上起来甚至有点头晕....没办法 硬上啊 大家解决了态度问题 都耐下心来好好讨论

A

赛前没有过这个题 其实 就是sb题啊

直接枚举起点位置 实际上 对于每个起点而言 其产生的价值等于以1为起点的价值减去(该起点到1的价值)*个数,然后对于在这个起点之前的点 需要转一圈后达到 所以最后的价值需要加上之前的个数*m 然后取最小值即可

#include<bits/stdc++.h>
#define N 100005
#define INF 0x3f3f3f3f
#define ll long long
using namespace std;
int a[N];
vector<ll>vec;
int main(){
	int T;scanf("%d",&T);
	int n,m,q;
	ll t1,t2;
	while(T--){
		scanf("%d%d%d",&n,&m,&q);
		for(int i=1;i<=n;i++) scanf("%d",&a[i]);
		for(int i=1;i<=q;i++){
		   scanf("%lld%lld",&t1,&t2);
		   ll tt=(a[t1]-1-t2%m+m)%m;
		   vec.push_back(tt);	
		}
		sort(vec.begin(),vec.end());
		ll ans=0,ans1;
		for(int i=1;i<=q;i++) ans+=(vec[i-1]);
		ll pre=ans;
		ll ans2=(ll)1e18;
		for(int i=1;i<=q;i++){
			if(i==1||vec[i-1]!=vec[i-2])
			ans1=ans-1ll*q*(vec[i-1])+1ll*(i-1)*m;
			ans2=min(ans1,ans2);
		}
		printf("%lld
",ans2);
		vec.clear();
	} 
	return 0;
}

 C 暴力题 比赛的时候我们直接对于答案分类考虑 因为答案只能出现1 2 3这三种情况 然后搜素判断细节即可 (首发没有考虑完全等于2的情况 WA了一发

   E 对于一个串直接统计t个CCPC 然后对于一些限制情况来确定答案输出t还是t+1即可 判断的情况可通过推导然后套上KMP跑一跑即可

   L 签到题 直接统计左边有多少个R 右边有多少L 取最小值即可

  M 队友大大敲的,WA了4发 WA点是没有保证输出按照升序(其实题目写了 然后我们都没注意到) 听他说是sb题 不过还是在我的sb无脑数据下找出WA点

233333 菜鸡队 4题铜滚粗 赛后补题可能还是能拿到银吧 但是已经很努力了大家 毕竟只是我们人生中大大小小比赛的第一场而已 后面的比赛还有很多 大家齐心协力啊  我希望我们能有资格在一年后 去拿到金牌 不枉我们大家深夜写题 嗯,,,,继续加油!

原文地址:https://www.cnblogs.com/wang9897/p/7801296.html