A. Display Size

水题,暴力(数据都是水题)。0:04

int main()
{int n;while(~scanf("%d",&n)){int mi=n;int a=0,b=0;for(int i=1;i<=n;i++)if(n%i==0){int k=n/i;if(k>=i){if(k-i<mi){a=i;b=k;mi=k-i;}}else{if(i-k<mi){a=k;b=i;mi=i-k;}}}printf("%d %d\n",a,b);}return 0;
}

B. Mammoth's Genome Decoding

也是水题,模拟。0:15

题意:给定一个只包含A、C、T、G这几种核苷酸及‘?’的字符串,把?用这四种核苷酸代替要求这个字符串每种核苷酸的数量都相同,如果存在解输出任意一种,反之-1.

思路:先看长度n是否为4的倍数,然后求出平均数,再求出每种字符的数量,如果这四种字符最多的一种数量比平均数大则不行,反之一层循环遇到?补过去即可。

int main()
{int n;while(~scanf("%d%s",&n,s)){if(n%4) printf("===\n");else{int k=n/4;int num=0;int a=0,g=0,c=0,t=0;int a1=0,g1=0,c1=0,t1=0;for(int i=0;i<n;i++){if(s[i]=='A') a++;if(s[i]=='G') g++;if(s[i]=='C') c++;if(s[i]=='T') t++;if(s[i]=='?') num++;}if(max(a,max(g,max(c,t)))>k) printf("===\n");else{a1=k-a;if(a1<0) a1=0;g1=k-g;if(g1<0) g1=0;c1=k-c;if(c1<0) c1=0;t1=k-t;if(t1<0) t1=0;for(int i=0;i<n;i++){if(s[i]!='?') printf("%c",s[i]);else{if(a1){printf("A");a1--;continue;}if(g1){printf("G");g1--;continue;}if(c1){printf("C");c1--;continue;}if(t1){printf("T");t1--;continue;}}}printf("\n");}}}return 0;
}

C. Servers

还是水题,模拟。写的时候还担心10^7会不会超时,暴力一发初判过了(0:45)。看来就就这样写,但忽略的一个细节问题终判跪了。。

题意:n台机器编号1-n,有q个任务每个任务有一个出现时间t和需要k台机器一起完成及需要d时间完成。每次都是从编号小的并且没有被占用的机器中选,如果某个任务能完成则输出所有机器的编号总和,反之-1。

思路:用一个数组存每台机器做任务的结束时间,开始清0。每次一个任务的开始时间如果比这台机器的结束时间大则可以占用这台机器,并把这台机器的结束时间调至t+d-1。如果不够k台机器则输出-1。

这里需要注意的是每个任务下来要先判断是否至少有k台机器空闲。博主为了简化代码直接找k台机器并改掉相应时间,而如果某个任务需要的机器数满足不了但又把一些机器的时间改了这样就会出错的。

int a[N];
int main()
{int n,q;while(~scanf("%d%d",&n,&q)){memset(a,0,sizeof(a));int t,k,d;while(q--){scanf("%d%d%d",&t,&k,&d);int sum=0;int j=1,x=k;while(j<=n&&k)//先判断是否至少有k台机器空闲。{if(a[j]<t) k--;j++;}if(k) printf("-1\n");else{for(int i=1; i<=n&&x; i++)if(t>a[i]){a[i]=t+d-1;sum+=i;x--;}printf("%d\n",sum);}}}return 0;
}

D. Winter Is Coming

莫名其妙的熟悉感。凛冬将至--中山大学某队名

贪心题,C题水过后发现这题并不难,理清思路怼一发过了(初判1:45),然后终判跪在第43组,昨晚的悲剧重演。我把D题都做出来了容易吗,昨晚D题跪在第50组,今天D题跪在43组。咸鱼永不翻身啊!CF的套路总是那么深,温馨提示(仅对新手):如果样例能过20组以上,思路基本是正确的,细节问题需要注意一下,比如数据范围或者特殊数据,而一般思路有问题10组以内必跪。还有不用想着钻CF的数据空子,前人血的教训!不说了,看题!

题意:贝尔兰冬天很冷,那么司机要换上冬天专用轮胎才能开车。假设冬天一共有n天,有一套冬天专用轮胎,仅能使用k天,这套轮胎不管什么温度都能用,而夏天用的轮胎只能在温度非负的日子里使用,问要平安开n天的车最少需要换几次轮胎(穿上和脱下都算)。

思路:开始想着一个一个贪心:就是假设温度为负只出现一次,看情况讨论,假设温度为负的天气有多天再分情况。然而却发现如果把所有温度为负的天数提取出来(连续的算一次),先算最坏的。然后再补回去(这里需要按两次时间间隔排序)。

const int N=2e5+7;
struct s
{int dis,c,d;
} b[N];
int a[N];
int cmp(s a,s b)
{return a.dis<b.dis;
}
int main()
{int n,k;while(~scanf("%d%d",&n,&k)){int len=0,sum=0;memset(b,0,sizeof(b));b[0].dis=INF;for(int i=1; i<=n; i++) scanf("%d",&a[i]);for(int i=1; i<=n; i++)if(a[i]<0){int j=i;while(a[j]<0&&j<=n) j++;b[len].c=j-i;//一次持续时间b[len].d=j-1;//截止日期;if(len) b[len].dis=i-b[len-1].d-1;//间隔时间,不可能为0len++;i=j-1;}if(len==0)//没有0下的温度不用换,急于求成忘了考虑了。。{printf("0\n");continue;}int finally=b[len-1].d;//最后的截止时间;int distent=n-finally;sum+=2*len;//最坏的情况for(int i=0; i<len; i++) k-=b[i].c;//温度为负只能用冬用轮胎if(k<0){printf("-1\n");continue;}sort(b,b+len,cmp);for(int i=0;i<len;i++){if(k){if(k>=b[i].dis){k-=b[i].dis;sum-=2;//少了一次穿上和一次脱下;}}}if(k>=distent) sum--;printf("%d\n",sum);}return 0;
}

其实就是这么简单,初判过了还剩14分钟,看了看E题发现也是很水的不过没时间做了,接下来补了E题吧!

第一次直接怼出四个题本想着咸鱼翻身结果悲剧重演终判直接掉了两个,欲哭无泪啊!

总结:手速有待提高,A题B题思路秒有但代码实现还是有点慢,C题读题慢了,读懂了发现暴力10^7,担心2s过不去,但700+人过了,怼一发秒过。结果忽略了一种情况。D题读题也有点慢了,理解了题意思路还是不够敏捷,还好前面的题A的快,留下了足够的时间。发现了一种思路实现有点麻烦代码没有很快写出来,debug费时。样例过了却没有考虑特殊数据直接交,虽然A了但终判还是跪了。。。不能急于求成啊,一直都是这样,被利益迷惑了。手速又跟不上思维,况且思维还慢。。再战!总有一天咸鱼会一跃而起的!

转载于:https://www.cnblogs.com/nyist-TC-LYQ/p/7208143.html

Codeforces Round #387 (Div. 2) A+B+C+D!相关推荐

  1. Codeforces Round #387 (Div. 2) 747F(数位DP)

    题目大意 给出整数k和t,需要产生一个满足以下要求的第k个十六进制数 即十六进制数每一位上的数出现的次数不超过t 首先我们先这样考虑,如果给你了0~f每个数字可以使用的次数num[i],如何求长度为L ...

  2. Codeforces Round #506 (Div. 3)

    Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...

  3. Codeforces Round #563 (Div. 2)/CF1174

    Codeforces Round #563 (Div. 2)/CF1174 CF1174A Ehab Fails to Be Thanos 其实就是要\(\sum\limits_{i=1}^n a_i ...

  4. 构造 Codeforces Round #302 (Div. 2) B Sea and Islands

    题目传送门 1 /* 2 题意:在n^n的海洋里是否有k块陆地 3 构造算法:按奇偶性来判断,k小于等于所有点数的一半,交叉输出L/S 4 输出完k个L后,之后全部输出S:) 5 5 10 的例子可以 ...

  5. Codeforces Round #696 (Div. 2) (A ~ E)超高质量题解(每日训练 Day.16 )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #696 (Div. 2) (A ~ E)超高质量题解 比赛链接:h ...

  6. Codeforces Round #712 Div.2(A ~ F) 超高质量题解(每日训练 Day.15 )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #712 Div.2(A ~ F) 题解 比赛链接:https:// ...

  7. Codeforces Round #701 (Div. 2) A ~ F ,6题全,超高质量良心题解【每日亿题】2021/2/13

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A - Add and Divide B - Replace and Keep Sorted C ...

  8. Codeforces Round #700 (Div. 2) D2 Painting the Array II(最通俗易懂的贪心策略讲解)看不懂来打我 ~

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 整场比赛的A ~ E 6题全,全部题目超高质量题解链接: Codeforces Round #700 ...

  9. Codeforces Round #699 (Div. 2) F - AB Tree(贪心、树上DP)超级清晰,良心题解,看不懂来打我 ~

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #699 (Div. 2) F - AB Tree Problem ...

最新文章

  1. 在Ubuntu Linux上安装和使用Git和GitHub:初学者指南
  2. 云和物联网(IoT)是不可分割的,因为物联网需要云来运行和执行
  3. 生成指定范围的随机数_JAVA 获取随机数的方式以及应用案例
  4. PyCharm中,如何成功 import caffe?
  5. Flutter入门学习--(18)添加本地资源图片
  6. 期权定价数值方法之蒙特卡洛模拟【python量化】
  7. keil报错:*** FATAL ERROR L250,注册2032年
  8. 全国宏观经济指标(图表以及相应的大致注释)
  9. 产品经理进修第六天 产品经理面试
  10. CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout+Toolbar实现渐变透明的状态栏
  11. 怎么组织计算机更新,win10更新取消组织管理提示怎么取消_win10更新提示某些设置由你的组织管理的解决步骤...
  12. 12张图,二手房数据分析及可视化
  13. iOS应用程序的辅助功能:语音识别
  14. Sql练习--查询有趣的电影
  15. ExecuteNonQuery(),ExecuteDataSet() ,ExecuteReader() ,ExecuteScalar(),DataTable() 用法
  16. python中arcsec_如何使用Python将Gaia天体测量数据绘制成TESS图像?
  17. 消息称华为与中兴均将裁员解困
  18. 一分钟知道屏幕分辨率、尺寸、PPI之间的关系!!!
  19. java怎样做倒计时,Java 中怎么实现倒计时
  20. 短信拦截转发器----Android

热门文章

  1. 职业学校计算机知识试卷答案,2016中等职业学校计算机等级考试题库(含答案)计算机基础题库...
  2. 用循环输出以下数列:斐波那契数列(要输出20个数字)_Python学习之“为女朋友解释hash是个什么东西”
  3. 怎么让网页中的文字两边留出空白_横线、方格、点阵、空白本,谁才是笔记本中的C位?...
  4. c++ 转bcd码_还不会看汽车自诊断系统的故障码?三分钟教你怎么解决
  5. vscode写python_vscode如何编写python?
  6. java webservice ssl_[转贴]Java客户端调用Https Webservice
  7. it计算机知识竞赛主持稿,西安交大城市学院计算机系举办第四届“走进IT,触碰未来”计算机知识竞赛...
  8. linux max 函数,sched_get_priority_max()函数 Unix/Linux
  9. vs2019中如何创建qt项目_Qt在vs2019中使用及设置方法
  10. 喵喵的支付宝小程序登录