![](https://img-blog.csdnimg.cn/20210131153719522.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
ACM
蒟蒻划水
坤斤拷
握り信じたうたかたの影を
展开
-
2019ICPC徐州打铁心得
现在是夜间十点三十分,列车缓缓驶离徐州。此时,车内鼓噪的焦糊气味,或是窗外领受放逐的夜色,无一不暗示并试图揭开一个黑灰色的谜底——俺们打铁了。冇错,俺打铁了。2019ICPC徐州,我ACM划水生涯中的第一场区域赛,就这样打铁了。真的难受。反正火车上也睡不好,干脆就流水账式记录一下打铁心得吧(捂脸)徐州站的比赛时间是在11/2-3,很不巧,在湖大校历上,这两个日期属于第八、九周,那...原创 2019-11-04 20:03:02 · 919 阅读 · 2 评论 -
[POJ2559] Largest Rectangle in a Histogram(单调栈)
传送门:Largest Rectangle in a Histogram题意给定一系列高为 hi,宽为 1 的矩形,找出这些矩形组成的图形中最大的矩形面积。思路要求最大的矩形面积,我们只要知道以每个矩形的高度向右最远能够延申到的宽度,将这个宽度乘以高度就是它的面积,找出其中最大的一个就是我们要求的值。要得到这个宽度,我们可以采用一个单调递减栈(每次压栈的值都比栈顶的值大),并利用一...原创 2019-10-14 13:58:09 · 163 阅读 · 0 评论 -
[HDU5248] 序列变换
传送门:序列变换二分答案。如果一个数加上当前代价后仍然小于前一个数减去当前代价,那么该值不可行,二分找到最小值。#include <bits/stdc++.h>#define ll long long#define INF 0x3f3f3f3fusing namespace std;const int maxn = 1e5+5;int t, n, a[maxn];...原创 2019-09-05 18:47:42 · 146 阅读 · 0 评论 -
[HNUOJ1145] Isomorphic Inversion(字符串哈希)
传送门:Isomorphic Inversion#include <bits/stdc++.h>#define ll long long#define ull unsigned long long#define INF 0x3f3f3f3fusing namespace std;const int maxn = 1e6+6;string s;int len;ull...原创 2019-09-07 00:56:15 · 313 阅读 · 0 评论 -
[HDU4300] Clairewd’s message(字符串哈希 / 扩展 KMP)
传送门:Clairewd’s message题意给定一个密文的转换表,即 26 个字母原文与密文的映射。然后,给定一个字符串,由密文与明文混合而成,其中前半部分为密文,后半部分为明文,明文可能有缺失(可能缺失全部),但密文一定为完整的。现在,求出给定的字符串(密文+明文)对应的完整的字符串中最短的那一个。思路先将给定的字符串按照转换表,翻译成新的字符串,其中前半部分密文被翻译为明文...原创 2019-09-08 20:37:52 · 222 阅读 · 0 评论 -
[The Preliminary Contest for ICPC Asia Xuzhou 2019 - 徐州网络赛C] Buy Watermelon
Buy WatermelonThe hot summer came so quickly that Xiaoming and Xiaohong decided to buy a big and sweet watermelon. But they are two very strange people. They are even-numbered enthusiasts. They wan...原创 2019-09-08 20:48:42 · 153 阅读 · 0 评论 -
[The Preliminary Contest for ICPC Asia Xuzhou 2019 - 徐州网络赛D] Carneginon
CarneginonCarneginon was a chic bard. But when he was young, he was frivolous and had joined many gangs. Recently, Caneginon was to be crowned, because the king was shocked by his poems and decided...原创 2019-09-08 20:51:27 · 155 阅读 · 0 评论 -
[The Preliminary Contest for ICPC Asia Xuzhou 2019 - 徐州网络赛I] query
queryGiven a permutationppof lengthnn, you are asked to answermmqueries, each query can be represented as a pair(l ,r )(l,r), you need to find the number of pair(i ,j)(i,j)such thatl \le i ...原创 2019-09-08 21:25:28 · 424 阅读 · 2 评论 -
[The Preliminary Contest for ICPC Asia Xuzhou 2019 - 徐州网络赛E] XKC's basketball team
XKC's basketball teamXKC , the captain of the basketball team , is directing a train ofnnteam members. He makes all members stand in a row , and numbers them1 \cdots n1⋯nfrom left to right.Th...原创 2019-09-08 23:16:26 · 291 阅读 · 0 评论 -
[The Preliminary Contest for ICPC Asia Xuzhou 2019 - 徐州网络赛K] Center
CenterYou are given a point set withnnpoints on the 2D-plane, your task is to find the smallest number of points you need to add to the point set, so that all the points in the set are center sym...原创 2019-09-09 14:03:10 · 330 阅读 · 0 评论 -
[The Preliminary Contest for ICPC Asia Xuzhou 2019 - 徐州网络赛B] so easy
so easyThere arennpoints in an array with index from11tonn, and there are two operations to those points.1:1 \ x1xmarking the pointxxis not available2:2 \ x2xquery for the index o...原创 2019-09-09 15:08:15 · 266 阅读 · 1 评论 -
[The Preliminary Contest for ICPC Asia Xuzhou 2019 - 徐州网络赛G] Colorful String
Colorful StringThe value of a stringssis equal to the number of different letters which appear in this string.Your task is to calculate the total value of all the palindrome substring.Input...原创 2019-09-10 01:02:42 · 202 阅读 · 0 评论 -
[HDU1853] Cyclic Tour(拆点 + KM)
传送门:Cyclic Tour题意在 n 个点、m 条有向边的图中,找到使得每个点属于且仅属于一个环的若干个环,求环的边权和的最小值。思路一个环如 1→2→3→1,若将每个点拆成两个(如 1 拆为 1 与 1’)就会变成 1→2’→2→3’→3→1’,把标号相同的点间的边去掉,就变成了 1→2’,2→3’,3→1’。可以看到,一个环很清楚地将拆后的点分为两个部分(带 ’ 与不带 ...原创 2019-09-24 16:18:28 · 200 阅读 · 0 评论 -
[HDU6655-2019杭电多校第七场1010] Just Repeat
传送门:Just Repeat题意大概是,a、b手中各有带有颜色的n、m张牌,a先手,双方轮流出牌,一方出过的颜色,对方不可出,无法出牌者败。那么,双方优先出的牌的颜色,一定是场上还没出过、对方同样持有且双方持有总数最大的,因为这样,就能保证自己能够出更多的牌或能让对方少出更多的牌,从而增大胜算。所以,只要统计双方都有的颜色的牌的总数,按照数量逆序排序,从a开始轮流分配,即表明该颜色是该方可...原创 2019-08-13 16:46:54 · 155 阅读 · 0 评论 -
[HDU5247] 找连续数
传送门:找连续数一个区间中的数连续,那么这个区间的最大值减去最小值等于区间长度-1。#include <bits/stdc++.h>#define ll long long#define INF 0x3f3f3f3fusing namespace std;const int maxn = 1e4+4;int n, m, k, a[maxn];int ans[max...原创 2019-09-05 18:38:38 · 215 阅读 · 0 评论 -
[GYM101981D - 2018ICPC南京] Country Meow(三分 / 模拟退火)
传送门:Country Meow题意为,在一个三维坐标系中,给定 n 个点,要求找到一个点,使得该点与这 n 个点中距离该点最远的点的距离最小,给出这个最小的距离值。实际上,这个问题就相当于最小球覆盖问题。有三种做法:①最小球覆盖模板。计算几何模板,非常暴力。但我没有。②三分。求距离的函数是个单峰函数,可以通过三分查找来找到极值。但由于有 x、y、z 三个变量需要控制,所以采用三层...原创 2019-09-03 22:02:28 · 571 阅读 · 0 评论 -
[HNUOJ1140] Daily Division(树状数组+二分)
传送门:Daily Division#include <bits/stdc++.h>#define ll long long#define INF 0x3f3f3f3fusing namespace std;const int maxn = 1e5+5;int n, q;ll a[maxn], ft[maxn];int lowbit(int x){ re...原创 2019-09-03 13:43:53 · 243 阅读 · 0 评论 -
[HDU2647] Reward(拓扑排序)
传送门:Reward题目大意是,boss 发工资,每个人都有一个最低工资,而某些员工比如 a 有攀比之心,要求工资必须比其他某个员工比如 b 高,给定若干如 a b 这样的序列,问boss 最少需要发多少工资。这就很容易联想到拓扑排序,只不过还需要算出每一层级的点的数量。由于在拓扑排序中,并不一定每个点两两之间都能够有着明确的先后次序,但有些点能够有共同的上级或下级,那么这些点(一个点其...原创 2019-08-24 16:58:20 · 193 阅读 · 0 评论 -
[HDU1285] 确定比赛名次(拓扑排序)
传送门:确定比赛名次拓扑排序。需要注意的是,需要采用greater优先级的优先级来决定下一步拓展的结点,因为未指定优先级的优先队列采用的是less优先级,无重载的情况下是大值先输出,而题目要求为字典序最小,所以我们希望它能够使得小值先输出,于是就要用到greater优先级来实现这个目标。#include <bits/stdc++.h>#define ll long long...原创 2019-08-24 16:23:02 · 166 阅读 · 0 评论 -
[HDU3342] Legal or Not(拓扑排序)
传送门:Legal or Not拓扑排序判环。#include <bits/stdc++.h>#define ll long long#define INF 0x3f3f3f3fusing namespace std;const int maxn = 1e2+2;int n, m;vector<int> g[maxn];int indeg[maxn]...原创 2019-08-24 16:29:01 · 113 阅读 · 0 评论 -
[HDU6651-2019杭电多校第七场1006] Final Exam
传送门:Final Exam题意大概是,期末考试中,有n种不同的题形,总分为m,且每道题的分数是不定的,有可能会出现某道题分值为0或分值为m的极端情况。现在,复习一道分值为x的题,需要耗费x+1个单位的时间(若分值为0,仍需要耗费1个单位时间)才能做出这道题。n道题每道题的题形不同且分值未知,需要求出在任何情形下(即卷面各题分数的所有可能情况)都能做出k道题的最小复习时间。问题的难点在于每...原创 2019-08-13 17:31:42 · 170 阅读 · 0 评论 -
[HNUOJ10179] 最长合法序列(最长非降子序列)
最长合法序列 Time Limit:1000ms,Special Time Limit:2500ms,Memory Limit:32768KB Total submit users:819,Accepted users:733 Problem 10179 :No special judgement Problem description 有k个整数A[1],A[2...原创 2019-04-20 17:04:38 · 845 阅读 · 0 评论 -
[HNUOJ10029] 幻方矩阵(奇数阶幻方的两种解法)
幻方矩阵 Time Limit: 4000ms, Special Time Limit:8000ms, Memory Limit:2048KB Total submit users: 857, Accepted users: 542 Problem 10029 : Special judge Problem description 幻方是一种很有意思的数字矩阵,在很早著名的九...原创 2019-03-23 14:05:18 · 1355 阅读 · 1 评论 -
[POJ2387] Til the Cows Come Home(最短路)
传送门:POJ 2387 Til the Cows Come Home千万看清点数和路径数的输入顺序。否则。你会像我一样WA和RE一个下午。#include <iostream>#include <vector>#include <queue>#include <string.h>#define INF 0x3f3f3f3fus...原创 2019-03-16 16:23:25 · 117 阅读 · 0 评论 -
[POJ1321] 棋盘问题(DFS)
传送门:POJ 1321 棋盘问题回溯暴力搜索也不会超时。下次补一下状态压缩dp的做法...#include <iostream>#include <string.h>using namespace std;int n, k, ans = 0;int vis[10][10];int read(){ cin >> n >&g...原创 2019-03-16 14:58:59 · 127 阅读 · 0 评论 -
[洛谷P1993] 小K的农场(差分约束)
传送门:P1993 小K的农场本以为是道差分约束模板题,就开开心心 bfs spfa 提交一发,结果T 了 4 个样例,非常难受。看题解区的 dalao 们都上了 dfs 版本的 spfa,本蒟蒻不会写 dfs,把 queue 改成了 stack,假装自己在写 dfs,然后就过了。(卡 bfs 真的太坑了)#include <bits/stdc++.h>#define l...原创 2019-08-24 19:09:54 · 175 阅读 · 0 评论 -
[洛谷P4926] 倍杀测量者(差分约束)
传送门:P4926 [1007]倍杀测量者我喜欢这题面。题意大概是一群人喜欢女装,但是不好意思直接女装,而是希望通过一些巧妙的借口借机成功女装,他们的借口是这样的:① A 与 B 的分数相比,若 ,则 A 女装;② A 与 B 的分数相比,若 ,则 A 女装(分数什么的,还不好操控吗?)。现在,需要做的是,求出最大的 T,使得在 ①的 k 变为 k-T,②的 k 变为 k+T 的情况下,仍然有...原创 2019-08-24 22:27:28 · 196 阅读 · 0 评论 -
[HDU6685-2019杭电多校第九场1006] Rikka with Coin
传送门:Rikka with Coin简单思考后可知 10 分最多只会拿 1 张、20 分最多只会拿 4 张、50 分最多只会拿一张,因为若再多拿一张,就会凑到价值更高的货币的面额。那么,就可以通过暴力枚举三种零钱的情况,计算在该零钱模式下需要的 1 刀的数量,然后计算所需硬币的总数,求出所有情况下数量最少的即可。#include <bits/stdc++.h>#defin...原创 2019-08-20 22:53:57 · 183 阅读 · 0 评论 -
[HDU1533] Going Home(二分图匹配 | KM算法)
传送门:Going Home题意为,在一块 n*m 的棋盘上,散落着数量相等的人与房子,每个人都可以得到且只能得到一间房子,所花费的代价是其移动到该房子的花费(人可以花费 1 旅费向四个方向种的一个移动一个单位),求所有人与房子匹配成功的最小总花费。本题只要把人与房子看成是一个带权二分图,利用 KM 算法进行匹配即可。通过将每个人到每间房子的花费计算出来,作为边的权值。因为题目要求最小...原创 2019-08-28 19:34:41 · 196 阅读 · 0 评论 -
[HDU2255] 奔小康赚大钱(二分图匹配 | KM算法)
传送门:奔小康赚大钱裸的 KM 算法,上板子。#include <bits/stdc++.h>#define ll long long#define INF 0x3f3f3f3fusing namespace std;const int maxn = 3e2+32;int n, nx, ny;int g[maxn][maxn];int linker[maxn]...原创 2019-08-27 13:42:23 · 145 阅读 · 0 评论 -
[POJ2446] Chessboard(二分图匹配)
传送门:Chessboard题意为,在一块 m*n 的棋盘上,除去存在的若干个有障碍物的格子,判断该棋盘是否能被若干张 1*2(或 2*1)的卡片完全覆盖。初看上去可能没什么想法,但是仔细观察就会发现,这些卡片覆盖的棋盘的坐标,都有一个相同的规律:覆盖的两个点,它们各自的横纵坐标之和,一个为奇一个为偶。利用这个规律,我们就可以将坐标和奇偶不同的格子分开,建立一个二分图,求能否完全覆盖棋盘的...原创 2019-08-26 18:10:35 · 192 阅读 · 0 评论 -
[POJ3255] Roadblocks(次短路)
传送门:Roadblocks次短路算法模板题。所谓次短路,同样可以利用 dijkstra 最短路算法求解。假设 dis[] 记录点的最短路,subdis[] 记录点的次短路,对于到达点 v 的某条路径长度 d,有几种可能的情况:①d < subdis[i] && d > dis[i],d 此时为次短路,更新 subdis[i] = d;② d > sub...原创 2019-08-22 17:18:53 · 166 阅读 · 0 评论 -
[POJ2449] Remmarguts' Date(k 短路 / A*)
传送门:Remmarguts' Date题意为求源点 s 到 终点 t 的第 k 短路,可以采用启发式搜索 A* 算法来求解。A* 算法的核心为估值函数 f(x) = g(x)+h(x) ,其中 f(x) 为当前某个点的估值,g(x) 为开始搜索时到当前点的代价,h(x) 为当前点到目标点的代价的估值,h(x) 必须小于等于实际值。而在本题中,g(x) 为到达当前点时已走的路径长度,h(x...原创 2019-08-22 00:08:02 · 169 阅读 · 0 评论 -
[HDU1116] Play on Words
传送门:Play on Words把出现的单词的第一个字母与最后一个字母分别视为以其命名的一个顶点,并在两点之间连一条以第一个字母到最后一个字母的有向边,构建一个图,然后判断是否构成欧拉图即可。#include <bits/stdc++.h>#define ll long long#define INF 0x3f3f3f3fusing namespace std;c...原创 2019-08-20 23:53:31 · 329 阅读 · 0 评论 -
[HDU3018] Ant Trip
传送门:Ant Trip题意大概是给定一个图,求出它最少需由几笔画成。若给出的图是欧拉图,那么可由一笔画成;而若给出的是半欧拉图,那么就需要计算奇度顶点的个数(由结论“非(半)欧拉图画成的笔数为该图中奇度顶点数目/2”)。#include <bits/stdc++.h>#define ll long long#define INF 0x3f3f3f3fusing nam...原创 2019-08-20 23:42:40 · 250 阅读 · 0 评论 -
[HDU1878] 欧拉回路
传送门:欧拉回路欧拉回路模板题。检查所给图是否连通,可以通过并查集或 dfs 进行判断。并查集:#include <bits/stdc++.h>#define ll long long#define INF 0x3f3f3f3fusing namespace std;const int maxn = 1e3+3;int n, m;int deg[maxn];...原创 2019-08-20 23:23:45 · 493 阅读 · 0 评论 -
[POJ3126] Prime Path (BFS)
传送门:POJ 3126 Prime Path一道普通的BFS。题意大概为输入两个数a与b,对a进行更改,每次可以更改一个数字,更改后的数必须是素数,问最少需要多少次可以使a更改为b。因为题目说明a与b都是四位数,我们先打一个1e4以内的素数表,方便后续素数的判断,这里用的是欧拉筛法。接着就是模拟每个数字的更改,稍微有些麻烦,剩下的都是套路了。当然,这个代码在POJ上是CE的...把万...原创 2018-09-09 22:00:08 · 174 阅读 · 0 评论