XVIII Open Cup named after E.V. Pankratiev Stage 5: Eastern Grand Prix
- easy: EI
- medium-easy: BCDGK
- medium: L
- medium-hard: AFH
A. Artifacts
B. Brackets and Dots
- 对于一个区间,从左到右扫一遍,遇到左括号进栈,遇到右括号出栈,这样就可以求答案。(因为一个左括号赖在栈里不走,会使得最长长度变小。)
- 用 set 维护左括号,右括号,与下一个括号是右括号的左括号出现位置。
- 对于区间查询 \([l,r]\),不断地扔第一个“下一个括号是右括号的左括号”,和与之匹配的右括号,直到扔完。
C. Crossword
枚举横着摆放的两个字符串的相关位置
然后竖着的两个字符串优化一下再枚举就ok了
\(O(24*n^3)\)
D. Digit
- 0一定不会成为答案
- 首先去掉末尾的连续数字9,显然不影响答案
- 然后求剩下的每一位除零外的数字减1的最大值(注:最后一个不减)
- 再对1去max输出即可
- 如此做法的正确性,可以脑补一下
E. Enormous Table
签到
F. Funny Language
G. Game of Tic-Tac-Toe
状压 DP
H. Hill and Subhill
I. It is panic?
签到
J. JokeCoin
K. King and ICPC
离线询问,分治回答跨过 mid 的所有区间查询,这些区间 $[ql,qr] $可以用 \([ql, mid], [mid+1, qr]\) 合并而得。
L. Longest Simple Paths
求出最短路的那个 DAG,用 DAG 构建 root 到节点路径字典序最小的生成树,然后重心分解。
XVIII Open Cup named after E.V. Pankratiev Stage 5: Eastern Grand Prix的更多相关文章
- XVIII Open Cup named after E.V. Pankratiev. Grand Prix of SPb
A. Base $i - 1$ Notation 两个性质: $2=1100$ $122=0$ 利用这两条性质实现高精度加法即可. 时间复杂度$O(n)$. #include<stdio.h&g ...
- XVIII Open Cup named after E.V. Pankratiev. Ukrainian Grand Prix
A. Accommodation Plan 对于已知的$K$个点,离它们距离都不超过$L$的点在树上是一个连通块,考虑在每种方案对应的离$1$最近的点统计. 即对于每个点$x$,统计离它距离不超过$L ...
- XVIII Open Cup named after E.V. Pankratiev. Grand Prix of Siberia
1. GUI 按题意判断即可. #include<stdio.h> #include<iostream> #include<string.h> #include&l ...
- XVIII Open Cup named after E.V. Pankratiev. Grand Prix of Peterhof
A. City Wall 找规律. #include<stdio.h> #include<iostream> #include<string.h> #include ...
- XVIII Open Cup named after E.V. Pankratiev. GP of Urals
A. Nutella’s Life 斜率优化DP显然,CDQ分治后按$a$排序建线段树,每层维护凸包,查询时不断将队首弹出即可. 时间复杂度$O(n\log^2n)$. #include<cst ...
- XVIII Open Cup named after E.V. Pankratiev. GP of Romania
A. Balance 不难发现确定第一行第一列后即可确定全部,列不等式单纯形求解线性规划即可. #include<cstdio> #include<algorithm> usi ...
- XVIII Open Cup named after E.V. Pankratiev. Grand Prix of Khamovniki
A. Ability Draft 记忆化搜索. #include<stdio.h> #include<iostream> #include<string.h> #i ...
- XVIII Open Cup named after E.V. Pankratiev. Grand Prix of Korea
A. Donut 扫描线+线段树. #include<cstdio> #include<algorithm> using namespace std; typedef long ...
- XVIII Open Cup named after E.V. Pankratiev. Grand Prix of Saratov
A. Three Arrays 枚举每个$a_i$,双指针出$b$和$c$的范围,对于$b$中每个预先双指针出$c$的范围,那么对于每个$b$,在对应$c$的区间加$1$,在$a$处区间求和即可. 树 ...
随机推荐
- java 并发——AbstractQueuedSynchronizer
java 并发--AbstractQueuedSynchronizer 简介 abstract class AbstractQueuedSynchronizer extends AbstractOwn ...
- html5中利用FileReader来读取文件。
利用FileReader来读取文件的能够来实现即时预览的效果,这个也是在html5中才有的功能. <!DOCTYPE html> <html lang="en"& ...
- python基础【第九篇】
补充知识 1.字符串方法的补充 s = str() s.format() # 格式化输出 "连接符".join("连接的对象") # 拼接 s.find() # ...
- ionic ios上状态栏和app重叠解决方案
干货文章 ·2018-03-22 01:33:01 官方issues: https://github.com/ionic-team/ionic/issues/13294 解决办法: 1.在 confi ...
- fastjson转换包含date类型属性的对象时报错com.alibaba.fastjson.JSONException: For input string: "13:02:19"
问题:time类型数据插入不进mysql数据库:调试的时候报如下错误: Caused by: java.lang.NumberFormatException: For input string: &q ...
- 检查目录下 文件的权限-linux shell脚本
#!/bin/bash #History: #2019/07/23 Fsq #This Program will check Permissions on dir PATH=/bin:/sbin ...
- centos6.5大于2T容量硬盘分区、格式化、挂载!
一. 超过2T容量硬盘使用parted创建分区 1.fdisk l(查看需要分区的硬盘盘符如:sda) 2.parted /dev/sda 3.rm 1 4.mklabel gpt(超过2T磁盘格式 ...
- C 编译器的“贪心法”
C语言中有单字符符号和多字符符号之分,那么,当C编译器读入一个字符‘/’后又跟了一个字符‘*’,那么编译器就必须做出判断:是将其作为两个分别的符号对待,还是合起来作为一个符号对待.C语言对这个问题的解 ...
- 前端学习(十二)js数据类型(笔记)
选项卡: for循环 for(初始值,条件,自增){} for(var i=0; i<9;i++){} 几个按钮对应相同个内容!!! -------------------- ...
- vue 点击切换图标
<div @click="showImg" class="showSearch"> <img class="header_img&q ...