CH6802 車的放置】的更多相关文章

6802 車的放置 0x60「图论」例题 描述 给定一个N行M列的棋盘,已知某些格子禁止放置.问棋盘上最多能放多少个不能互相攻击的車.車放在格子里,攻击范围与中国象棋的"車"一致.N,M≤200. 输入格式 第一行为n,m,t(表示有t个禁止的格子) 第二行到t+1行为x,y,分别表示禁止格子所在的位置,x为第x行,y为第y列,行列编号从1开始. 输出格式 一个整数,表示最多能放多少个車. 样例输入 8 8 0 样例输出 8 题解 把行.列看成节点 1要素:行节点.列节点只能放一个 0…
原题链接 和棋盘覆盖(题解)差不多. 将行和列看成\(n+m\)个节点,且分属两个集合,如果某个节点没有被禁止,则行坐标对应节点向列坐标对应节点连边,然后就是求二分图最大匹配了. #include<cstdio> #include<cstring> using namespace std; const int N = 410; int fi[N], di[N], ne[N], mtc[N], l; bool v[N], a[N >> 1][N >> 1];…
Analysis 这道题是二分图匹配,设可以放車的的地方的坐标为(i,j),则连一条i到j的有向边(注意是有向边),然后再跑匈牙利算法就好了.时间复杂度是O(nm(n+m)),在1≤n,m≤200的情况下可以接受. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define maxn 205 using namespace std; inline int…
[题解]宫廷守卫 [P1263] 传送门:宫廷守卫 \([P1263]\) [题目描述] 给出一个 \(n*m\) 的方格图,分别用整数 \(0,1,2\) 表示空地.陷阱.墙,空地上可以放置守卫,如果两个守卫在同一行或同一列且他们之间没有墙的阻挡,那么他们就会互相看见.求最多可以放置多少个守卫使得他们互相无法看见对方,并输出其中一种方案. [样例] 样例输入: 3 4 2 0 0 0 2 2 2 1 0 1 0 2 样例输出: 2 1 2 3 3 [数据范围] \(100 \%:\) \(1…
展开 题目描述 在一个 n*n个方格的国际象棋棋盘上,马(骑士)可以攻击的棋盘方格如图所示.棋盘上某些方格设置了障碍,骑士不得进入 对于给定的 n*n 个方格的国际象棋棋盘和障碍标志,计算棋盘上最多可以放置多少个骑士,使得它们彼此互不攻击 输入格式 第一行有 2 个正整数n 和 m (1<=n<=200, 0<=m<n2),分别表示棋盘的大小和障碍数.接下来的 m 行给出障碍的位置.每行 2 个正整数,表示障碍的方格坐标. 输出格式 将计算出的共存骑士数输出 输入输出样例 输入  …
当一个人看见星空,就再无法忍受黑暗 为了点亮渐渐沉寂的星空 不想就这样退役 一定不会鸽の坑 . 一本通提高篇 . 算竞进阶 . CDQ & 整体二分 . 平衡树 . LCT . 字符串 . 随机化算法 . 图论 . 双向BFS . 组合数学 . 同余 UNFINISHED LIST 提高 道路和航线 汽车加油行驶问题 皇宫看守 旅游规划 凸多边形的划分 跳跳棋 叶子的颜色 骑士 旅行问题 股票交易 算竞 Picnic Planning 天天爱跑步 疫情控制 岛屿 Freda的传呼机 PKU AC…
题目大意:给定一个 N*M 的棋盘,棋盘上有些点不能放置任何东西,现在在棋盘上放置一些车,问最多可以放置多少个车而不会互相攻击. 题解:将放置一个车看作连接一条无向边,因为每一行和每一列之间只能放置一个车,即:车的位置在 (i,j) 时,表示第 i 行和第 j 列之间放置了一个车.可以发现,一个车不会影响到其他的行和列,因此所有的行和所有列之间是没有连边的,这符合二分图的性质.根据建模,跑匈牙利算法即可,时间复杂度为 \(O((N+M)*N*M)\). 代码如下 #include <bits/s…
题目大意: Description 众所周知,車是中国象棋中最厉害的一子之一,它能吃到同一行或同一列中的其他棋子.車跟車显然不能在一起打 起来,于是rly一天又借来了许多许多的車在棋盘上摆了起来……他想知道,在N×M的矩形方格中摆最多个数的車 使其互不吃到的情况下方案数有几种.但是,由于上次摆炮摆得实在太累,他为了偷懒,打算增加一个条件:对于 任何一个車A,如果有其他一个車B在它的上面(車B行号小于車A),那么車A必须在車B的右边(車A列号大于車B) . 棋子都是相同的. Input 一行,两个…
tuple(元組) 其實跟列表差不多,也是存一組數,只不過是它一旦建立了,就不能修改了,只能做 切片 跟 查詢,所以只叫 只讀列表 語法: name = ("Rogers", "Stark", "Thor", "Loki") 它只有二個方法可以使用,一個是 count().一個是 index().接下來就簡單試試這二個功能怎麼用 #!/usr/bin/env python3 # -*- coding:utf-8 -*- nam…
Spring环境搭建之:导入jar包.配置文件名称及放置位置 现在项目开发中spring框架应用的还是比较多的,自己用的还不太熟练,每次用的时候总配置半天,总有些配置弄错,就找个时间总结以下,方便以后再搭建环境的时候直接拿来用. 以Spring4为例,这里就不提供Spring的下载地址了,官网上很容易下的到. 1.导入相关jar包 建好web项目以后,导入Spring自己的jar包 spring-beans-4.0.0.M2.jar spring-context-4.0.0.M2.jar spr…