bzoj3125: CITY 题解】的更多相关文章

3125: CITY Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 486  Solved: 213[Submit][Status][Discuss] Description 小明和小华要参加NOI,踏上了去X市的火车. 小明望着窗外的田野,大楼,工厂缓缓后退,在思考着什么. 这时,对面的小华拿出手机对着他说:“看!我们在这个位置!” 小明望着手机上显示的地图,城市被接到分割成各个方块,而自己所在的点在慢慢移动. 他突然意识到自己甚至还没游历过这…
这个题目大意是: 有N个城市,编号为0~N-1,给定N-1条无向带权边,Q个询问,每个询问求三个城市连起来的最小权值. 多组数据 每组数据  1 < N < 50000  1 < Q < 70000: 一道多源最短路的题目,注意题目数据:N.Q都很大 不能考虑Floyd.SPFA.Dijkstra.Bellman-Ford等最短路算法 再看N-1条边,明显构成一棵树,最短路有且只有一条 很明显需要LCA.... 不懂LCA的点!我!点!我! 我们所熟知的LCA是求两个点的最短路,而…
传送门 题意简述:给一个n∗mn*mn∗m的网格图,有的格子不能走,有的格子只能竖着走,有的格子只能横着走,问用一条回路覆盖所有能走的格子的方案数. 思路: 就是简单的轮廓线dpdpdp加了一点限制而已,考虑几个特判. 只能横着走的,限制它必须有左插头,必须没有上插头 只能竖着走的,限制它必须有右插头,必须没有左插头 然后就差不多了. 然后博主这个废柴因为hash表写错了一个地方调了1h 代码: #include<bits/stdc++.h> #define ri register int #…
震惊!bzoj居然又被苏大佬D飞了... 这题煞笔模板题好吧. 然而bzojAC caiojWA%40??? 好强啊 今天早上发现是m打成n了囧 #include<cstdio> #include<iostream> #include<cstring> #include<cstdlib> #include<algorithm> #include<cmath> using namespace std; typedef long long…
Okabe and City 题解: 将行和列也视为一个点. 然后从普通的点走到行/列的点的话,就代表这行/列已经被点亮了. 然后将费用为0的点建上边. 注意讨论(n,m)非亮的情况下. 代码: #include<bits/stdc++.h> using namespace std; #define Fopen freopen("_in.txt","r",stdin); freopen("_out.txt","w"…
Benches Time Limit:500MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Status Description The city park of IT City contains n east to west paths and n north to south paths. Each east to west path crosses each north to south path,…
Canada Tour You have won a contest sponsored by an airline. The prize is a ticket to travel around Canada, beginning in the most western point served by this airline, then traveling only from west to east until you reach the most eastern point served…
bzoj1814: Ural 1519 Formula 1 bzoj3125: CITY bzoj1210: [HNOI2004]邮递员 bzoj2331: [SCOI2011]地板 bzoj1187: [HNOI2007]神奇游乐园 bzoj2310: ParkII…
比赛链接:https://codeforces.com/contest/1436 A. Reorder 题解 模拟一下这个二重循环发现每个位置数最终都只加了一次. 代码 #include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int t; cin >> t; while (t--) { int n, m; cin >>…
题目描述 给出一个n*m的矩阵,某些格子不能通过,某些格子只能上下通过或左右通过.求经过所有非不能通过格子的哈密顿回路条数. 输入 第一行有两个数N, M表示地图被分割成N*M个块,接下来有N行,每行有M个字符.  .  表示这个块可以通过  - 表示这个块只可以左右通过  | 表示这个块只可以上下通过  # 表示这个块不能通过 (从每个块只能走到其上下左右相邻的四个块) 输出 一个数,表示小明把所以可以通过的块都经过且只经过一次并回到原地的方案数. 样例输入 4 4 .... ..-. ...…