BZOJ-3171-循环格-TJOI2013-费用流
来源:互联网 发布:小心眼表现 知乎 编辑:程序博客网 时间:2024/06/04 17:44
描述
一个循环格就是一个矩阵,其中所有元素为箭头,指向相邻四个格子。每个元素有一个坐标(行,列),其中左上角元素坐标为(0,0)。给定一个起始位置(r,c)
,你可以沿着箭头防线在格子间行走。即如果(r,c)是一个左箭头,那么走到(r,c-1);如果是右箭头那么走到(r,c+1);如果是上箭头那么走到(r-1,c);如果是下箭头那么走到(r+1,c);每一行和每一列都是循环的,即如果走出边界,你会出现在另一侧。一个完美的循环格是这样定义的:对于任意一个起始位置,你都可以i沿着箭头最终回到起始位置。如果一个循环格不满足完美,你可以随意修改任意一个元素的箭头直到完美。给定一个循环格,你需要计算最少需要修改多少个元素使其完美。
分析
- 和星际竞速那道题有相通之处. 当时做星际竞速时总结的建模方法在这里用到了.
- 凡是遇到使每个点都经过一次的题目就可以考虑拆点建图. 拆点, S向Xi连一条容量为1费用为0的边, 表示从X出发. Yi向T连一条容量为1费用为0的边, 表示到达Y.
- 格子X的Xi向原方向指向的格子Y的Yj连一条容量为INF, 费用为0的边, 向另外三个方向指向的格子连一条容量为INF, 费用为1的边. 表示修改.
代码
1 0
- [费用流]BZOJ:3171: [Tjoi2013]循环格
- BZOJ-3171-循环格-TJOI2013-费用流
- bzoj 3171: [Tjoi2013]循环格 费用流
- 3171: [Tjoi2013]循环格 费用流
- BZOJ 3171 [Tjoi2013]循环格
- 【bzoj3171】[Tjoi2013]循环格 (费用流)
- 【bzoj3171】【TJOI2013】【循环格】【费用流】
- bzoj3171 [Tjoi2013]循环格(费用流)
- BZOJ P3171[Tjoi2013]循环格
- [BZOJ3171][TJOI2013][最小费用最大流]循环格
- 3171: [Tjoi2013]循环格
- 3171: [Tjoi2013]循环格
- 3171: [Tjoi2013]循环格
- BZOJ 3171 TJOI 2013 循环格 费用流
- [Tjoi2013]循环格
- 【TJOI2013】循环格
- bzoj3171【tjoi2013】循环格
- 【bzoj3171】[Tjoi2013]循环格
- 手机4G网络打不开CSDN论坛
- Android APK反编译详解(附图)
- Android中的设计模式
- boost thread
- 二叉树小结
- BZOJ-3171-循环格-TJOI2013-费用流
- boost 字符串,json
- Marked Ancestor (AOJ 2170 并查集)
- 杭电 HDU 1038 Biker's Trip Odometer
- boost 指针
- MySQL的JDBC驱动源码解析
- mfc中关于画图操作而导致ASSERT(m_hObject == NULL);中断问题
- HNU13247Connected Caves (拓扑)
- Java中getResourceAsStream的用法