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