奇差。ABC三题,排名400。

首先是策略问题。

由于第一眼看到D的时候感觉不太会做,于是去看E。

一看到E这不欧拉回路吗,可做可做,

于是——我不会欧拉回路!

手推。推了半天啥也没弄出来,

于是大概按照样例琢磨了一个小小的(错的)思路,

于是——WA!

想了想发现有个反例,也不会改,

想回去做D,但是——the contest has ended!!!

我怎么没看时间呢???

啊啊啊。。。

D多么简单。。。

  1. 1152d:首先把状态改变为(i,j),表示到了第i个位置,打开的左括号有多少。
  2. 那么我们就考虑dp
  3. dp状态就是dp(i,j)表示以(i,j)这个状态开始的子树中最多有多少条边。
  4. 转移的时候枚举走dp(i+1,j+1)和dp(i+1,j-1)。
  5. 然后我们观察在哪些地方才去取一个到儿子的边。
  6. 根据trie的形状,我们取i为奇数的到儿子的边更合算一点。
  7. 那就做完了。
  8. 大家都是这个做法。只是有人用了记忆化搜索。
  9. 1152e:首先考虑建图,就是把b[i]和c[i]连无向边。
  10. 那么肯定先要离散化。
  11. 那么问题就被转化成这个图能不能求一条欧拉路径。
  12. 其实写起来非常简单。。。
  13. 就是如果当前这条边并没有被用过,直接走上去,
  14. 直到跑完再输出走到的那个顶点。
  15. 我也不知道这样为什么是对的。
  16. 只是考完看了刘汝佳的书才知道的。
  17. 大家也都是这个做法。还有人贴了板子?
  18. 中间遇到的问题
  19. d:我在考试中几乎所有的时间都在e上,所以d就没有时间考虑。考完发现其实不难。
  20. wa4:这个是贪心错了在偶数层取到儿子的边了。
  21. e:考试的时候不会欧拉路径,只好手推,但想不出一个比较对的做法
  22. wa5:这个是没有考虑可能有欧拉回路的情况。
  23. wa8:这个是欧拉路径求错了的情况。
  24. tle11:原来我只是用了vector存图,那么就会发生每到一个节点就重新遍历一遍这个点的所有边的情况,那么重复走两个节点的情况就炸了。后改用multiset存图,每走过一条边就删掉,不会出现重复的情况。

Codeforces Round 1152 (div. 2)的更多相关文章

  1. 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 ...

  2. Codeforces Round #354 (Div. 2) ABCD

    Codeforces Round #354 (Div. 2) Problems     # Name     A Nicholas and Permutation standard input/out ...

  3. Codeforces Round #368 (Div. 2)

    直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...

  4. cf之路,1,Codeforces Round #345 (Div. 2)

     cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅.....   ...

  5. Codeforces Round #279 (Div. 2) ABCDE

    Codeforces Round #279 (Div. 2) 做得我都变绿了! Problems     # Name     A Team Olympiad standard input/outpu ...

  6. 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 ...

  7. 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 ...

  8. Codeforces Round #371 (Div. 1)

    A: 题目大意: 在一个multiset中要求支持3种操作: 1.增加一个数 2.删去一个数 3.给出一个01序列,问multiset中有多少这样的数,把它的十进制表示中的奇数改成1,偶数改成0后和给 ...

  9. Codeforces Round #268 (Div. 2) ABCD

    CF469 Codeforces Round #268 (Div. 2) http://codeforces.com/contest/469 开学了,时间少,水题就不写题解了,不水的题也不写这么详细了 ...

随机推荐

  1. spring boot 使用redis进行发布订阅

    异步消息的方式有很多,这篇博客介绍如何使用redis进行发布订阅, 完成这个示例只需要三个文件 1.redis消息监听配置 @Configuration public class RedisListe ...

  2. Linux驱动模块编译模板

    hello.c文件: #include <linux/module.h> #include <linux/kernel.h> static int hello_init(voi ...

  3. CSRF 漏洞测试

    CSRF简介: CSRF中文名:跨站请求伪造,英文译为:Cross-site request forgery,CSRF攻击就是attacker(攻击者)利用victim(受害者)尚未失效的身份认证信息 ...

  4. Python UnboundLocalError和NameError错误根源解析

    如果代码风格相对而言不是那么的pythonic,或许很少碰到这类错误.当然并不是不鼓励使用一些python语言的技巧.如果遇到这这种类型的错误,说明我们对python中变量引用相关部分有不当的认识和理 ...

  5. ps 命令的十个简单用法

    注记 ps 命令有两种不同的语法风格 -- BSD 与 UNIX 两种风格.新手常常对这两种形式产生误解,因此我们有必要在这里作一个简单的说明: ps aux 与 ps -aux 是不同的,例如 -u ...

  6. 【转载】C#代码开发过程中如何快速比较两个文件夹中的文件的异同

    在日常的使用电脑的过程中,有时候我们需要比较两个文件夹,查找出两个文件夹中不同的文件以及文件中不同的内容信息,进行内容的校对以及合并等操作.其实使用Beyond Compare软件即可轻松比较,Bey ...

  7. 我的第三个开源库GuaJiangViewDemo——中文文档

    GuaJiangViewDemo 欢迎Star 一个可以简单的刮刮奖View的封装 测试图 使用 1.在根目录上添加 maven { url 'https://jitpack.io' } 2.添加依赖 ...

  8. [leetcode](4.21)2. 按字典序排列最小的等效字符串

    给出长度相同的两个字符串:A 和 B,其中 A[i] 和 B[i] 是一组等价字符.举个例子,如果 A = "abc" 且 B = "cde",那么就有 'a' ...

  9. Web前端 Web前端和Web后端的区分

    一.绪论 1. 前台:呈现给用户的视觉和基本的操作. 后台:用户浏览网页时,我们看不见的后台数据跑动.后台包括前端.后端. 前端:对应我们写的html.css.javascript 等网页语言作用在前 ...

  10. 跨域iframe如何实现高度自适应?

    经常有项目会要求实现iframe高度自适应,如果是同域的还好说,如果是跨域的,父页面没有办法操作子页面,想要正确获取子页面高度的话,可以采用以下办法: 方法一:使用HTML5 postMessage ...