Codeforces Round 1152 (div. 2)
奇差。ABC三题,排名400。
首先是策略问题。
由于第一眼看到D的时候感觉不太会做,于是去看E。
一看到E这不欧拉回路吗,可做可做,
于是——我不会欧拉回路!
手推。推了半天啥也没弄出来,
于是大概按照样例琢磨了一个小小的(错的)思路,
于是——WA!
想了想发现有个反例,也不会改,
想回去做D,但是——the contest has ended
!!!
我怎么没看时间呢???
啊啊啊。。。
D多么简单。。。
1152d:首先把状态改变为(i,j),表示到了第i个位置,打开的左括号有多少。
那么我们就考虑dp。
dp状态就是dp(i,j)表示以(i,j)这个状态开始的子树中最多有多少条边。
转移的时候枚举走dp(i+1,j+1)和dp(i+1,j-1)。
然后我们观察在哪些地方才去取一个到儿子的边。
根据trie的形状,我们取i为奇数的到儿子的边更合算一点。
那就做完了。
大家都是这个做法。只是有人用了记忆化搜索。
1152e:首先考虑建图,就是把b[i]和c[i]连无向边。
那么肯定先要离散化。
那么问题就被转化成这个图能不能求一条欧拉路径。
其实写起来非常简单。。。
就是如果当前这条边并没有被用过,直接走上去,
直到跑完再输出走到的那个顶点。
我也不知道这样为什么是对的。
只是考完看了刘汝佳的书才知道的。
大家也都是这个做法。还有人贴了板子?
中间遇到的问题
d:我在考试中几乎所有的时间都在e上,所以d就没有时间考虑。考完发现其实不难。
wa4:这个是贪心错了在偶数层取到儿子的边了。
e:考试的时候不会欧拉路径,只好手推,但想不出一个比较对的做法
wa5:这个是没有考虑可能有欧拉回路的情况。
wa8:这个是欧拉路径求错了的情况。
tle11:原来我只是用了vector存图,那么就会发生每到一个节点就重新遍历一遍这个点的所有边的情况,那么重复走两个节点的情况就炸了。后改用multiset存图,每走过一条边就删掉,不会出现重复的情况。
Codeforces Round 1152 (div. 2)的更多相关文章
- Codeforces Round #366 (Div. 2) ABC
Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...
- Codeforces Round #354 (Div. 2) ABCD
Codeforces Round #354 (Div. 2) Problems # Name A Nicholas and Permutation standard input/out ...
- Codeforces Round #368 (Div. 2)
直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...
- cf之路,1,Codeforces Round #345 (Div. 2)
cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅..... ...
- Codeforces Round #279 (Div. 2) ABCDE
Codeforces Round #279 (Div. 2) 做得我都变绿了! Problems # Name A Team Olympiad standard input/outpu ...
- Codeforces Round #262 (Div. 2) 1003
Codeforces Round #262 (Div. 2) 1003 C. Present time limit per test 2 seconds memory limit per test 2 ...
- Codeforces Round #262 (Div. 2) 1004
Codeforces Round #262 (Div. 2) 1004 D. Little Victor and Set time limit per test 1 second memory lim ...
- Codeforces Round #371 (Div. 1)
A: 题目大意: 在一个multiset中要求支持3种操作: 1.增加一个数 2.删去一个数 3.给出一个01序列,问multiset中有多少这样的数,把它的十进制表示中的奇数改成1,偶数改成0后和给 ...
- Codeforces Round #268 (Div. 2) ABCD
CF469 Codeforces Round #268 (Div. 2) http://codeforces.com/contest/469 开学了,时间少,水题就不写题解了,不水的题也不写这么详细了 ...
随机推荐
- spring boot 使用redis进行发布订阅
异步消息的方式有很多,这篇博客介绍如何使用redis进行发布订阅, 完成这个示例只需要三个文件 1.redis消息监听配置 @Configuration public class RedisListe ...
- Linux驱动模块编译模板
hello.c文件: #include <linux/module.h> #include <linux/kernel.h> static int hello_init(voi ...
- CSRF 漏洞测试
CSRF简介: CSRF中文名:跨站请求伪造,英文译为:Cross-site request forgery,CSRF攻击就是attacker(攻击者)利用victim(受害者)尚未失效的身份认证信息 ...
- Python UnboundLocalError和NameError错误根源解析
如果代码风格相对而言不是那么的pythonic,或许很少碰到这类错误.当然并不是不鼓励使用一些python语言的技巧.如果遇到这这种类型的错误,说明我们对python中变量引用相关部分有不当的认识和理 ...
- ps 命令的十个简单用法
注记 ps 命令有两种不同的语法风格 -- BSD 与 UNIX 两种风格.新手常常对这两种形式产生误解,因此我们有必要在这里作一个简单的说明: ps aux 与 ps -aux 是不同的,例如 -u ...
- 【转载】C#代码开发过程中如何快速比较两个文件夹中的文件的异同
在日常的使用电脑的过程中,有时候我们需要比较两个文件夹,查找出两个文件夹中不同的文件以及文件中不同的内容信息,进行内容的校对以及合并等操作.其实使用Beyond Compare软件即可轻松比较,Bey ...
- 我的第三个开源库GuaJiangViewDemo——中文文档
GuaJiangViewDemo 欢迎Star 一个可以简单的刮刮奖View的封装 测试图 使用 1.在根目录上添加 maven { url 'https://jitpack.io' } 2.添加依赖 ...
- [leetcode](4.21)2. 按字典序排列最小的等效字符串
给出长度相同的两个字符串:A 和 B,其中 A[i] 和 B[i] 是一组等价字符.举个例子,如果 A = "abc" 且 B = "cde",那么就有 'a' ...
- Web前端 Web前端和Web后端的区分
一.绪论 1. 前台:呈现给用户的视觉和基本的操作. 后台:用户浏览网页时,我们看不见的后台数据跑动.后台包括前端.后端. 前端:对应我们写的html.css.javascript 等网页语言作用在前 ...
- 跨域iframe如何实现高度自适应?
经常有项目会要求实现iframe高度自适应,如果是同域的还好说,如果是跨域的,父页面没有办法操作子页面,想要正确获取子页面高度的话,可以采用以下办法: 方法一:使用HTML5 postMessage ...