A9243 | Antichain
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
You have a directed acyclic graph $G$ , consisting of $n$ vertexes, numbered from $0$ to $n-1$ . The graph contains $n$ edges numbered from $0$ to $n-1$ . An edge with number $i$ connects vertexes $i$ and $(i+1) mod n$ , and it can be directed in either direction (from $i$ to $(i+1) mod n$ , or vise versa).
Operation $x mod y$ means taking the remainder after dividing number $x$ by number $y$ .
Let's call two vertexes $u$ and $v$ in graph $G$ comparable if the graph contains a path either from $u$ to $v$ or from $v$ to $u$ . We'll assume that an antichain is a set of vertexes of graph $G$ , where any two distinct vertexes are not comparable. The size of an antichain is the number of vertexes in the corresponding set. An antichain is maximum if the graph doesn't have antichains of a larger size.
Your task is to find the size of the maximum antichain in graph $G$ .
Operation $x mod y$ means taking the remainder after dividing number $x$ by number $y$ .
Let's call two vertexes $u$ and $v$ in graph $G$ comparable if the graph contains a path either from $u$ to $v$ or from $v$ to $u$ . We'll assume that an antichain is a set of vertexes of graph $G$ , where any two distinct vertexes are not comparable. The size of an antichain is the number of vertexes in the corresponding set. An antichain is maximum if the graph doesn't have antichains of a larger size.
Your task is to find the size of the maximum antichain in graph $G$ .
输入格式
The first line contains the sequence of characters $s_{0}s_{1}...\ s_{n-1}$ $(2<=n<=10^{6})$ , consisting of numbers zero and one. The length of the line (number $n$ ) corresponds to the number of vertexes and edges in graph $G$ . If character $s_{i}$ $(i>=0)$ equals $0$ , then the edge between vertexes $i$ and $(i+1) mod n$ is directed from the $i$ -th vertex to the $(i+1) mod n$ -th one, otherwise — to the opposite point.
It is guaranteed that the given graph is acyclic.
It is guaranteed that the given graph is acyclic.
输出格式
Print a single integer — the size of the maximum antichain of graph $G$ .
输入输出样例
输入 #1
001
输出 #1
1
输入 #2
110010
输出 #2
3
Consider the first test sample. The graph's $G$ edges are: $0→1$ , $1→2$ , $0→2$ . We can choose the set of vertexes $[0]$ as the maximum antichain. We cannot choose an antichain of larger size.
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted