
ac
mlm5678
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
hdu 1232
#include<cstdio>#include<iostream>using namespace std;const int maxn=1010;int pre[maxn];int cnt;int n,m;void init(){ for(int i=0; i<=n; i++) pre[i]=i; cnt=n-...原创 2020-03-07 00:33:08 · 196 阅读 · 0 评论 -
hdu oj 1102(Kruskal)
分析: 已经有n个村修好了路,问打通所有村庄的最小生成树,拿merge中的mark判断一下是否在树中#include<algorithm>#include<iostream>#include<vector>#include<bits/stdc++.h> #define maxn 110using namespace std...原创 2020-03-06 23:39:49 · 191 阅读 · 0 评论 -
hdu oj 1102(prim)
分析:裸的最小生成树,没什么好说的.#include<iostream>#include<string.h>#include<math.h>#include<bits/stdc++.h>#define INF 0x3f3f3f3f#define N 110using namespace std;int n,ans;...原创 2020-03-05 00:23:59 · 180 阅读 · 0 评论 -
hdu1325 Is It A Tree?
题意:有向图判断是不是一棵树分析:你管他有向图还是无向图呢,什么吐跟并查集有关系吗。甭管他,分析完提后裸并查集.#include <iostream>#include<bits/stdc++.h>#include<string.h>#include<math.h>#define N 11000 using names...原创 2020-03-02 23:05:16 · 158 阅读 · 0 评论 -
hdu 1856 More is better
题意:给出n对朋友,求出最大的朋友圈。 最后输出那个对应的值,注意一个小问题,如果 n 是 0 的话,那么每个组都是一个人,那么就是说,输出值是 1#include<iostream>#include<algorithm>#include<math.h>#include<string.h>#inc...原创 2020-03-02 22:38:54 · 148 阅读 · 0 评论 -
图论500题
=============================以下是最小生成树+并查集======================================【HDU】1213 How Many Tables 基础并查集★1272 小希的迷宫 基础并查集★1325&&poj1308 Is It A Tree? 基础并查集★1856 More i...转载 2020-03-02 22:23:39 · 222 阅读 · 0 评论 -
逆波兰表达式及atof函数的调用
#include<iostream>#include<algorithm>#include<math.h>using namespace std; double calculate(const char *src,int flag){ double num=0.0; int n=0; int count=0; ...原创 2017-11-05 16:11:00 · 328 阅读 · 0 评论 -
Manacher算法
马拉车(Manacher)算法是在O(n)时间内解决寻找源字符串的最长回文子串S的问题的算法。朴素算法情况下对于每一个S[i]都要左右遍历其最大回文子串,所以时间复杂度是O(n2)算法流程分析 由于回文分为偶回文(比如 abab 长度为4)和奇回文(比如 abcba 长度为5),而在处理奇偶问题比较麻烦,所以这里需要做 个预处理,在字符间插入一个特殊字符...原创 2019-05-05 00:29:02 · 2673 阅读 · 0 评论 -
K、Strings in the Pocket(马拉车求回文子串个数板子)
马拉车+暴力思路:s和t相同时,就是找s的回文子串的数量,如果两个串相同,可以视为找回文串个数。如果不同,先判断删除左边连续相同部分和右边连续相同部分后能否通过反转使两串相等,如果不行结果为0,如果可行不断往两边延伸。教训!!!拿string写容易被卡时长tle代码#include <bits/stdc++.h>#include<iostream>...原创 2019-05-05 02:35:20 · 440 阅读 · 0 评论 -
c++大数模板
+ View code#include<iostream> #include<string> #include<iomanip> #include<algorithm> using namespace std; #define MAXN 9999#define MAXSIZE 10#define DLEN 4class Big...原创 2019-04-25 16:46:06 · 154 阅读 · 0 评论 -
Kosaraju算法
最关键通用部分:强连通分量一定是图的深搜树的一个子树。Kosaraju算法1.算法思路基本思路:这个算法可以说是最容易理解,最通用的算法,其比较关键的部分是同时应用了原图G和反图GT。(步骤1)先用对原图G进行深搜形成森林(树),(步骤2)然后任选一棵树对其进行深搜(注意这次深搜节点A能往子节点B走的要求是EAB存在于反图GT),能遍历到的顶点就是一个强连通分量。余下...原创 2019-05-09 14:53:39 · 2756 阅读 · 1 评论 -
NEUQ 今天又是开花的一天
今天又是开花的一天题目描述大师兄!不好了,师父又被妖怪抓走了!!!师父被boss抓到了迷宫坐标(n,m)(n,m)的地点,大师兄位于在(1,1)(1,1)的迷宫起始点,他想要去营救师父,但是今天的boss很凶险,他需要保持尽量多的体力来和boss战斗。对于这个n*mn∗m的迷宫,其任意的一个坐标,00对应 空地,11对应障碍物,22对应怪兽,33对应药瓶, 大师...原创 2019-05-09 19:10:00 · 244 阅读 · 0 评论 -
NEUQ 未闻mr名(额我不想说什么)
题目描述众所周知,mr学长非常nb,所以每当大家看到他的时候,都会对他喊一句:mrnb! 然而低调的mr不希望大家这样喊他。一天他发现一个字符串长度为nn,全部由小写字母构成,其中可能存在子串‘mrnb’(不包含单引号)。因此他决定删除其中的若干个子串,使得删除后的新串(不可以为空)不含有子串‘mrnb’。现在mr想知道,他最少需要删除多少个子串。子串的定义:串中任意个...原创 2019-05-09 21:24:59 · 290 阅读 · 0 评论 -
奇异旅馆 【并查集+树状数组】
奇异旅馆Time Limit : 3000/1000ms (Java/Other)MemoryLimit : 65535/32768K (Java/Other)Total Submission(s) : 29Accepted Submission(s) :15Problem Description玩了一天,小A又带着他的小伙伴们来到了当地的奇异旅馆。这个旅馆共有n层...原创 2019-05-21 01:18:10 · 345 阅读 · 0 评论 -
2019浙大校赛(补题)
A Thanks, TuSimple! 题解(优先队列)BEven Number Theory题解:(C++大数类)(Java大数类)CRobot Cleaner I 题解 (跑bfs)DRobot Cleaner II 题解(构造) (构造)E Potion 题解(签到)F Str...原创 2019-04-25 16:04:40 · 246 阅读 · 0 评论 -
The 16th Zhejiang Provincial Collegiate Programming Contest J(Welcome Party)
n个人,m组朋友关系,朋友关系不传递。安排n个人的进屋顺序,若进屋时,屋内没有其朋友,就会不高兴,求不高兴的人数最小的情况下,进入屋子的最小字典序顺序。思路:并查集+优先队列,朋友关系是双向的,不开心的人的数量就是关系图的块数,每个块,需且只需一个人不开心,剩下的人都可以通过关系一个个进屋,不至于不开心,所以并查集判断关系分块,选定不开心的人为下标最小的,让其成为块内最早进屋的,由此决定字典序...原创 2019-05-03 10:59:00 · 254 阅读 · 0 评论 -
HDU1166——树状数组
#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<algorithm>#include<vector>#include<queue>using names...原创 2019-04-08 00:52:51 · 171 阅读 · 0 评论 -
树状数组(初步)
我是转载这位大神的https://blog.csdn.net/Small_Orange_glory/article/details/81290634叶子结点代表A数组A[1]~A[8]变一下型现在定义每一列的顶端结点C[]数组 ,为的是进行区间操作C[i]代表 子树的叶子结点的权值之和C[1]=A[1]; C[2]=A[1]+A[2]; C[...原创 2019-04-12 00:43:52 · 156 阅读 · 0 评论 -
全排列问题的非递归算法——堆栈模拟递归
其实我对堆栈和递归的理解还是很不到位的,只意识到了系统栈大小和dfs序这一层面,惭愧呀惭愧。转载一篇文章,讲得比较清楚。https://www.cnblogs.com/holmestian/p/3928136.html前一段时间总结了全排列问题的几种递归解法,今天再总结一下如何通过对系统栈行为的模拟来非递归的实现全排列问题。 我们用一个数组stack[]来表示一个栈,用一个...原创 2019-04-12 02:12:55 · 1222 阅读 · 0 评论 -
poj3090(拿ETH筛跑欧拉函数)
Visible Lattice PointsTime Limit:1000MS Memory Limit:65536K Total Submissions:9189 Accepted:5602 DescriptionA lattice point (x,y) in the first quadrant (xandyare intege...原创 2019-04-15 17:17:04 · 239 阅读 · 0 评论 -
2050 Programming Competition(正式赛题解 持续更新中 及检讨)
补题ing Pro.ID Title Ratio(Accepted / Submitted) 1001 开场白 28.83%(3502/12147) 1002 时间间隔 36.46%(2735/7501) 1003 分宿舍(爆破) 分宿舍(dp) 12.80%(704/5502) 1004 PASS ...原创 2019-04-14 21:26:20 · 329 阅读 · 0 评论 -
冰水挑战
1006. 冰水挑战设d[ i ][ j ]为前 i 个挑战中完成了 j 个挑战所能得到的最大体力值。对于第 i+1 个挑战,我可以选择不挑战,那么d[ i+1][ j ]=max(d[i+1][ j ], d[ i ][ j])。选择挑战,那么d[ i+1 ][ j+1 ]=max(d[ i+1 ][ j+1 ],min(d[ i ][ j ], bi) - ai + ci ) (必...原创 2019-04-14 22:30:55 · 364 阅读 · 0 评论 -
Dinic & 当前弧优化
Dinic的核心思想就是先跑一遍Bfs BfsBfs,为每个位置设置一个高度,一个点的高度为前一个点+1 +1+1(如果某一条边已经满流则不设置)为什么非得要用bfs建立分层图 解释: 虽然说我们已经知道了增广路的实现,但是单纯地这样选择可能会陷入不好的境地,比如说这个经典的例子: 我们一眼可以看出最大流是999(s->v-&g...原创 2019-05-02 16:29:10 · 1398 阅读 · 0 评论 -
The 16th Zhejiang Provincial Collegiate Programming Contest
窝觉得人还是现实点,从签到题难度的开始写题解比较比较好Solved ID Title Ratio(AC/All) AC代码 A Vertices in the Pocket 16.47% (14/85) B Element Swapping 7.69% (106/1377) C ...原创 2019-05-02 22:03:25 · 228 阅读 · 0 评论 -
HDU - 6492 分宿舍
题意:有几种使用方式及价格不一样的房间,n+k个男生,m+k个女生,其中k对情侣,求最小花费.题解:dp裸背包,先对普通的房间进行普通的背包dp,更新后的结果遍历爆破。#include<iostream>#include<algorithm>#define ll long long using namespace std;const ll inf=0x3f...转载 2019-04-19 02:16:59 · 313 阅读 · 0 评论 -
奇妙糖果屋 【二进制+异或】
奇妙糖果屋Time Limit : 3000/1000ms (Java/Other)MemoryLimit : 65535/32768K (Java/Other)Total Submission(s) : 13Accepted Submission(s) :11Problem Description奇异王国里有很多奇怪的事物。比如奇怪的人(每个人都拥有一个智慧值),奇怪...原创 2019-05-21 01:27:13 · 715 阅读 · 0 评论 -
2017,2018,2019ccpc河北省赛补题
不定期补题奇异旅馆奇妙糖果屋榜单smart robotBattle of balls原创 2019-05-21 01:23:05 · 644 阅读 · 0 评论 -
2019 计蒜之道 第一场补题(图论场)
链接:https://www.jisuanke.com/contest/2346?view=challenges第一题需要删除的骨牌满足的条件为: [1]:出度最大; [2]:出度相同判断有无入度;vector<int >out[maxn];///out[x]:存x指出去的点int in[maxn];///in[x]:x的入度#include&...原创 2019-05-26 20:31:12 · 305 阅读 · 0 评论 -
01trie树 初步
01字典树的实现可以看成是把一个数的二进制字符化后插入到一颗一般的字典树中贪心策略的证明: 如果这时我们进入了第K位为IDX 的节点 那么 第k位为IDX ^ 1 的节点组成的数 异或X一定更大通过上面的代码,我们可以发现有下面几个事实:01字典树是一棵最多 32层的二叉树,其每个节点的两条边分别表示二进制的某一位的值为 0 还是为 1的路径以上代码中,ch[i] 表示一个节点,c...原创 2019-07-16 20:24:18 · 2622 阅读 · 1 评论 -
2019牛客多校第一场(补题检讨)
A Equivalent Prefixes 点击查看 659/4657 B Integration(不补数论) 点击查看 156/911 C Euclidean Distance(不补数论) 点击查看 28/279 D Parity of Tuples(不补数论) 点击查看 1/4 E ABBA 点...原创 2019-07-19 11:06:23 · 281 阅读 · 0 评论 -
牛客 A.Equivalent Prefixes(单调栈)
链接:https://ac.nowcoder.com/acm/contest/881/A来源:牛客网时间限制:C/C++ 2秒,其他语言4秒空间限制:C/C++ 524288K,其他语言1048576K64bit IO Format: %lld题目描述Two arrays u and v each with m distinct elements are called equ...原创 2019-07-19 11:14:59 · 314 阅读 · 0 评论 -
牛客 F.Random Point in Triangle(数学期望)
#include<stdio.h>#include<iostream>#include<math.h>using namespace std;int main(){ long long x1,y1,x2,y2,x3,y3; while(cin>>x1>>y1>>x2>>y2>...原创 2019-07-19 16:32:42 · 397 阅读 · 0 评论 -
牛客 E .ABBA
你有一个长为2∗(n+m)2∗(n+m)的字符串,每个位置填上A或B, 问你有多少个这样的字符串使得最终能提取出nn个"AB"子序列和mm个"BA"子序列dp即可,dp[i][j]表示前i个位置用了j个A的方案数通过n,m来计算当前位置最多已经用了多少个A。额,裸dp模就好了。#include<bits/stdc++.h>using namespace std;c...原创 2019-07-19 19:16:19 · 652 阅读 · 0 评论 -
「2019牛客多校第一场I」Points Division【线段树+dp】
链接:https://ac.nowcoder.com/acm/contest/881/I来源:牛客网很妙的线段树维护dp的题首先需要明确的是需要怎样将其划分为两个满足条件的集合,根据题意,可以知道可以用一个台阶将集合划分,如图然后就可以将每个点的y进行离散化,然后考虑将这些点优先按照x升序,然后y升序的规则排序,显然每经过一个点,它所带来的贡献需要修改的是一个区间,所以考虑线段树维护区...原创 2019-07-30 23:18:05 · 257 阅读 · 5 评论 -
线性基笔记
参考:czdb,Yveh,ouuan,落英吹,Hypoc_的blog线性基是啥?你可以理解为将一个序列处理完之后得到的产物定义设数集TT的值域范围为[1,2^n−1][1,2^n−1]。T的线性基是T的一个子集A={a1,a2,a3,...,an}。A中元素互相xor所形成的异或集合,等价于原数集T的元素互相xor形成的异或集合。可以理解为将原数集进行了压缩。性质...原创 2019-07-28 14:58:38 · 274 阅读 · 0 评论 -
2019牛客暑期多校训练营(第一场)H XOR
题意:给定n个整数,求满足子集异或和为0的子集大小之和。题解:相当于求每个数出现在子集中的次数之和。先对n个数求线性基,设线性基大小为r,可以分别计算线性基内数的贡献和线性基外数的贡献1.线性基外:共n-r个数,枚举每个数x,将线性基外剩余的n-r-1个数任意排列,显然共有2^{n-r-1}个集合,这些集合再异或x的结果还是能被线性基异或出,所以x的贡献为2^{n-r-1}。2...原创 2019-07-28 16:23:57 · 220 阅读 · 0 评论 -
trie树初步
转载于https://www.cnblogs.com/TheRoadToTheGold/p/6290732.html字典树自然也是起查找单词作用的。1、给出n个单词和m个询问,每次询问一个单词,回答这个单词是否在单词表中出现过。答:简单!map,短小精悍。好。下一个2、给出n个单词和m个询问,每次询问一个前缀,回答询问是多少个单词的前缀。答:map,把每个单词拆开。ju...原创 2019-07-16 19:39:41 · 139 阅读 · 0 评论 -
权值线段树与主席树(初步)
1.首先,给你一颗值为横坐标的线段树,每个节点上存着该值出现了多少次,这样的一颗线段树你会求区间k大值吧.二分即可.2.然后,假设区间是数组arr[n],区间长度是n,那么给你n颗线段树,第i颗线段树是第i-1颗线段树插入arr[i]得到.3.如果你有了这n颗线段树,想求区间[l,r]中的第k大值,那么你需要在第r颗和第l-1颗线段树的差线段树上作二分,可以求得区间第k大值.4.差线段...原创 2019-07-12 20:09:42 · 340 阅读 · 0 评论 -
2019河北CCPC省赛 D单
#include <bits/stdc++.h>using namespace std; int n; int get_time(string &s) { if(s=="GAME") return -1; return (s[1]-'0')*60+(s[3]-'0')*10+(s[4]-'0');} int get_state(string &...原创 2019-05-26 20:40:05 · 415 阅读 · 0 评论 -
2019CCPC河北省赛 L smart robot
就纯纯的跑dfs,只不过就是得分析分析题面#include<iostream>#include<bits/stdc++.h>#include<queue>#include<set>using namespace std;const int maxn=62;int dx[4]={0,0,-1,1};int dy[4]={1,-1,0...原创 2019-05-26 20:42:08 · 580 阅读 · 5 评论