恐怖如斯

  • 神场神场.
  • 题解
    • A
    • B
    • C
    • D

神场神场.

一看场号517直接去打了.
一上来首先看A题,一看数据范围直接大模拟写上去,竟然3分钟给写完了.
再看B题,发了2分钟呆,然后发现能够满足的没有几个直接暴枚,通过.
C题很有意思,我糊了个贪心出来,暴力判是否存在解,WA掉了.
最后我把暴力判存在解直接删掉,成功通过pretest.
D题的bfs非常有意思.
写出4个题之后尝试去hack一下,非常自信没有把他们的代码贺下来打对拍,结果丧失了hack成功的机会.下次一定要抓住机会,直接贺下来打对拍.
最后是激动人心的fst时间.
竟然没我的份!!!太伤心了.
最后成功地涨了160分,令我不敢相信.
机房好像都fst惨了.为他们默哀三分钟.

题解

A

不解释.

B

暴力枚举前两个值,如果能成,从第三个值开始挨个判是否存在,存在直接输出.

C

找到1−n1-n1−n和比a+ba+ba+b大的最小整数nnn,从n−1→1n-1\to1n−1→1轮流进行贪心,能放第一天,就放第一天,否则放第二天,都不能break.
千万不要判什么存在解啥的都是假的,直接暴枚n-1就可以了.

ll a,b;
vector<int> p,q;
void judge(int n) {int i,j; ll sump=0,sumq=0;
p.clear(),q.clear();
for (i=n;i;--i) {if (sump+i<=a){p.push_back(i);sump+=i;}else if (sumq+i<=b){q.push_back(i);sumq+=i;}else break;}
cout<<p.size()<<endl;
for (auto r:p) write(r),p32;pl;
cout<<q.size()<<endl;
for (auto r:q) write(r),p32;pl;
}int main() {read(a),read(b);
ll n=1;
for (;(n*(n+1))/2<=(a+b);) ++n;
judge(n-1);
}

D

很难解释代码,直接放了.

const int aoi=2018;
char c[aoi][aoi];
string llx;
int n,k,da[aoi][aoi],xiao=9999999,in[aoi][aoi];
typedef pair<int,int> pii;
vector<pii> now,tmp;
int main() {int i,j;
read(n),read(k);
for (i=1;i<=n;++i) scanf("%s",c[i]+1);
for (i=1;i<=n;++i){for (j=1;j<=n;++j) {da[i][j]=max(da[i-1][j],da[i][j-1])+(c[i][j]=='a');  // 判从[1,1]到[n,n]的路径上最多有多少个axiao=min(xiao,i+j-1-da[i][j]);}}
if (n*2-1-da[n][n]<=k){  // 如果改k个能全部改成afor (i=1;i<=n*2-1;++i) printf("a");  // 直接全部输出areturn 0;}
int t=0;
for (i=1;i<=n;++i) for (j=1;j<=n;++j)if (i+j-1-da[i][j]<=k) t=max(t,i+j); // 如果从[1,1]到该点的路径改k个值能全变成a,记录最c长的路径长度
for (i=1;i<t;++i) llx+="a"; // 前t个都是a
for (i=1;i<=n;++i) for (j=1;j<=n;++j)if (i+j-1-da[i][j]<=k&&i+j==t)now.push_back(pii(i,j)); // 从第t步开始bfs
if (!k) llx=c[1][1],now.push_back(pii(1,1));  //注意特判k=0
for (;now.front()!=pii(n,n);) {  // 开始bfschar u='{';for (i=0;i<now.size();++i) {pii t2=now[i];int p=t2.first,q=t2.second;if (p+1<=n) u=min(u,c[p+1][q]);  if (q+1<=n) u=min(u,c[p][q+1]);  // 首先找出能搜到的位置的最小字符.}llx+=u; // 加上for (i=0;i<now.size();++i) {pii t2=now[i];int p=t2.first,q=t2.second;if (p+1<=n&&c[p+1][q]==u&&!in[p+1][q]) tmp.push_back(pii(p+1,q)),in[p+1][q]=1;if (q+1<=n&&c[p][q+1]==u&&!in[p][q+1])tmp.push_back(pii(p,q+1)),in[p][q+1]=1;  // 把最小字符的位置都推进queue}now.clear();for (i=0;i<tmp.size();++i) now.push_back(tmp[i]);tmp.clear(); // 这里用两个vector代替queue.}
cout<<llx<<endl;
}

谢谢大家.

Codeforces Round #517 Div.2 FST神场相关推荐

  1. Codeforces Round #143 (Div. 2) (ABCD 思维场)

    题目连链接:http://codeforces.com/contest/231 A. Team time limit per test:2 seconds memory limit per test: ...

  2. Codeforces Round #538 (Div. 2) (CF1114)

    Codeforces Round #538 (Div. 2) (CF1114)   今天昨天晚上的cf打的非常惨(仅代表淮中最低水平   先是一路缓慢地才A掉B,C,然后就开始杠D.于是写出了一个O( ...

  3. Codeforces Round #694 (Div. 1 + Div2)(A ~ H,8题全,超高质量题解)【每日亿题】2021/2/1、2/2

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 [每日亿题]Codeforces Round #694 (Div. 1 + Div2)(A ~ ...

  4. Codeforces Round #595 (Div. 3) F. Maximum Weight Subset 树形dp

    传送门 文章目录 题意: 思路: 题意: n≤200n\le200n≤200 思路: 明显的树形dpdpdp,所以考虑一下dpdpdp状态. 这个题状态挺神的..可能是因为我太菜了,看了半天才看懂. ...

  5. Codeforces Round #740 (Div. 2, based on VK Cup 2021 - Final (Engine)) A-F全题解

    Codeforces Round #740 (Div. 2, based on VK Cup 2021 - Final (Engine)) 文章目录 A. Simply Strange Sort B. ...

  6. Codeforces Round #491 (Div. 2)

    Codeforces Round #491 (Div. 2) A. If at first you don't succeed... 按题意判断 #include <bits/stdc++.h& ...

  7. Codeforces Round #727 (Div. 2)2021.6.20

    Codeforces Round #727 (Div. 2) 闲话:打完省赛打cf,很不在状态地硬撑,wa和t了几次挺傻的地方,d题五分钟云出思路脑抽了调不出来.最后c还fst了.可以算的我拿去whi ...

  8. Codeforces Round #613 (Div. 2)(B-D)

    Codeforces Round #613 (Div. 2) B -抢时间&手感生疏->(第n + 1次)被long long卡掉- C 又一次败给了常识-EC的M题也是一个关于素数的暴 ...

  9. Codeforces Round #702 (Div. 3)A-G题解

    Codeforces Round #702 (Div. 3)A-G题解 比赛链接:https://codeforces.ml/contest/1490 这场F读错题意白给一发,G二分的if(dp[mi ...

最新文章

  1. pandas使用sort_values函数将dataframe按照指定数据列的内容对dataframe的数据行进行排序(sort dataframe rows by a specific column
  2. 辞任亚马逊CEO!贝佐斯转战蓝色起源,马斯克或迎最大劲敌?
  3. 真正的中台价值,「炒作」之后才被看见
  4. 小菜学设计模式——观察者模式
  5. 金属磁记忆传感器封装
  6. 物联网卡得持续增长对企业带来怎样的挑战
  7. CACHECLOUDV1.0慢日志定时任务创建流程分析
  8. Chapter 6-Blurring Things Up之Do It Twice
  9. 华为手机 图标消失_华为手机升级EMUI 10后解决Google Play“消失”教程
  10. mysql事务隔离级别回顾
  11. Python3 语法之函数思维导图
  12. 一个宝爸对孩子幼儿园成长的思考,我写了6000字的总结
  13. 20190328-几种数据清洗的方法
  14. 网站banner怎样设计才能提高吸引力?
  15. C#读取RFID卡号源码
  16. 【操作系统】BIOS篇
  17. 华为轮值CEO徐直军:应对快速变化的世界
  18. 25 个精美的手机网站模板
  19. TLS/SSL 协议详解(17) Certificate verify
  20. 解决 越狱后ios 密码丢失的问题

热门文章

  1. 保存应用程序设置(QSettings)
  2. 淘宝免税仓发货有假货吗?和直邮有何区别?
  3. 七天强化学习DAY1-1|(一)模型基础
  4. AMZI! PROLOG白皮书
  5. bigemap如何将等高线叠加到卫星图像上(应用到AutoCAD)
  6. 有道云笔记签到(java版)
  7. 《Java实战开发》利用spring-security解决CSRF问题,通过重写CsrfFilter 过滤掉指定方法
  8. 【elementUI-日期选择器(两个框 限制选择范围、快捷键选择】
  9. live555 如何设置时间戳
  10. Java clone()方法 与 Cloneable接口详解