自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

梦之城

梦想开始的地方

  • 博客(70)
  • 收藏
  • 关注

原创 总结 - 网络流建图技巧

上下界问题无源汇上下界求有无可行流另取两个附加汇点xx,附件源点yy.u->v限制[L,R][L,R][L,R] <=> add_edge(u,xx,L),add_edge(yy,v,L),add_edge(u,v,R-L)最后只需跑一遍 max_flow(yy,xx)检验与yy相连接的边是否满流即可有源汇上下界求有无可行流时,只需在无源基础上加上 add_edge...

2018-09-18 21:47:24 804

原创 CF - Nastya Is Buying Lunch (DP/想法)

题目链接:Codeforces Round #546 (Div. 2) D. Nastya Is Buying Lunch题意给出一个长度为n的置换,再给出m组(ui,vi)(u_i,v_i)(ui​,vi​) 代表如果ui在vi前面并且相邻时,两者可以交换。问置换中最后一个元素 P[n] 可以最多向前移动几格。数据范围: n≤3∗105,m≤5∗105n \le 3*10^5,m \le ...

2019-03-14 16:00:32 208

原创 CF - Magic Gems (DP+矩阵快速幂优化)

CF - Magic Gems题目链接: Educational Codeforces Round 60 (Rated for Div. 2) Magic Gems题意有两种宝石,第一种是普通宝石,第二种是魔法宝石,每个魔法宝石可以分成m个连续的普通宝石,这两种宝石所占格子都是一个,给你一个N个连续的格子,求能够填满这个格子的最初排列情况数据范围: 2≤M≤1002 \le M \le ...

2019-02-28 12:57:50 219

原创 CF - Magic Ship (二分)

CF - Magic Ship (二分)题目链接: Educational Codeforces Round 60 (Rated for Div. 2) Magic Ship题意给你一个起始点(sx,sy),要求到达(ex,ey),再给你一个长度为n字符串s1,s1中包含四个字母,U,D,L,R,分别代表上下左右,代表每个时刻的风向,并且这个风向是循环的(也就是字符串到达末尾时回到第一个字符...

2019-02-28 11:13:46 222

原创 HELLO 2019 - Makoto and a Blackboard (积性函数+DP期望)

Makoto and a Blackboard题目链接: D - Makoto and a Blackboard题意给你一个N,定义一个操作:将N替换为他的一个因子(包括1和N)现在重复K次以上操作,问最后期望的值是多少?数据范围: $ N <= 10^{15}, K <= 10^4 $思路我的思路求期望的有两种做法,DP存的是概率,直接是最后所有可能的结果乘以他...

2019-01-06 17:22:29 257

转载 积性函数与线性筛

积性函数与线性筛积性函数若一个定义在正整数域上的函数f(x)f(x)f(x) 对于任意满足gcd⁡(x,y)==1\gcd(x,y)==1gcd(x,y)==1 的x,yx,yx,y都有f(xy)=f(x)∗f(y)f(xy)=f(x)*f(y)f(xy)=f(x)∗f(y),则f(x)f(x)f(x)是积性函数。常见积性函数μ(n)\mu(n)μ(n):莫比乌斯函数φ(n)\varph...

2019-01-06 10:15:58 219 2

原创 CodeForce Multidimensional Queries (多维曼哈顿距离)

CodeForce Multidimensional Queries题目链接: http://codeforces.com/contest/1093/problem/G题意在一个K维空间中给出N个点,M个询问,每次询问一段区间的点中相距最远的距离数据范围: N,M<2∗105.K<=5N ,M< 2*10^5 .K < =5N,M&l...

2018-12-16 16:46:14 281

原创 VOJ - Longest Chain (CDQ分治三维偏序)

Longest Chain题目链接: Longest Chain Gym - 102014G 题意给你一个N个三元组,定义三元组 T1>T2T_1 > T_2T1​>T2​ 为 $x_1 > x_2 $ and y1>y2y_1 > y_2y1​>y2​ and z1>z2z_1 > z_2...

2018-12-05 16:25:16 291

原创 POJ - 2975 Nim(Nim博弈)

Nim**题目链接:**http://poj.org/problem?id=2975题意:给你N堆石头,让你和另一个人进行Nim博弈,每个人可以拿任意一堆中不少于一的石子,当谁无法石子拿时将失败。问你先手必胜有几种拿法。思路:参考一位大神的想法Nim博弈的本质是始终维持各个堆的异或为零的状态,这样我们只许对每一堆进行判断,判断先拿这一堆能否维持异或为零那么我们需要将除了这一堆以外的...

2018-11-23 15:18:23 112

原创 笔记 - 关于SG值

最近看了许多关于SG函数的帖子,来简单谈谈我所了解的SG博弈论所对应的状态转移,我们都可以用一个有向无环图来表示SG[x]所代表就是点x,到所有能转移子节点的mex这里的本质仍然是我们最熟悉的那种巴氏博弈(每个人可以拿1到N个东西,谁拿不了东西时,谁将失败)当前的值为x代表着的就是无论对手取得是什么数字,我都可以跟他凑成x,而转移到了子节点以后,同样可以以此来互相凑。从而保证每个结点都是存...

2018-11-23 15:02:59 313

原创 洛谷 - P1250种树(差分约束)

P1250种树题目链接:P1250 种树题意给你一条街,街由N个点构成,每个点上可以种一棵树,给你K个要求,每个要求由B,E,T组成,分别表示从点B开始到点E中间至少有T棵树,现在问这条街上最少有几颗树?数据范围:0<N<=3∗104,0<K<=5000,0<B<=E<=300000&...

2018-11-08 13:33:04 248

原创 洛谷 - P4012 深海机器人问题 (费用流优先度)

P4012 深海机器人问题题目链接: P4012题意在一个网格中给你一些机器人,要求只能向上走,或向左走,每一条边都有一个宝藏,每个宝藏只能被拿一次。机器人只能在一些指定点开始放,在一些指定点收回来。问最多可以获得多少财富?思路我一开始想的也是费用流,不过那个只能走一次的问题,我一直想不好。其实只需要再建一条边就好了,除了add_edge(u,v,1,-val) 再建一条边add_e...

2018-10-29 18:40:55 214

原创 笔记 - css

css引入css 1.行间样式 <div style=" width: 100px; height: 100px; background-color: red; "></div> 2.页面级 在head中加入代码style <style type="text/css"> div{ width: 100px; h...

2018-10-18 12:41:39 94

原创 笔记 - 常用HTML标签

常用HTML标签<html lang = "en"> <!-- 告诉搜索引擎,我们网站的内容 --><head> <!--//思想:编辑给浏览器的 --> <meta cahrset = "utf-8"> <!-- 万国语言 --> <title>淘宝网,淘! &am

2018-10-15 15:12:09 129

原创 POJ-3469 Dual Core CPU (最小割)

Dual Core CPU题目链接:Dual Core CPU题意思路照书上的话来说,用最小的费用将对象分成两个集合的问题,常常可以转换成最小割问题,这道题就是一道典型的例子。具体的还需要证明记在核A上执行的模块集合是S,而在核B上执行的模块集合为T。考虑以模块为顶点,并且还有额外的源点s和汇点t的图。我们也记图s-t割所对应的包含s的顶点集合为S,包含t的集合为T,然后来考察他们...

2018-09-19 12:44:16 627

原创 P2764 最小路径覆盖问题 (网络流)

最小路径覆盖问题题目链接: P2764 最小路径覆盖问题题意给你一个DAG,也就是有向无环图,现在要求里面最小路径覆盖。数据范围: 1<=n<=150,1<=m<=60001<=n<=150,1<=m<=60001<=n&a

2018-09-18 21:40:17 224

原创 tex数学公式和字符表示方法

tex数学公式和字符表示方法上下标(1)上标符号为**“^”、下标符号为“_”** ,例如 : 2^r , a_5(2)可同时输入上下标(注意要先下标再上标)例如 : C_n^m分式(1)简单的可以用单斜杠 / 表示分数线,例如 : 2/3,a/b,a/{b+c},a2/(b_2+c)2(2)使用 \frac{}{} 第一个{}内放分子,第二个{}内放分母。例如:\frac...

2018-09-18 21:28:02 980

原创 VOJ 字符加密Cipher (后缀数组)

字符加密Cipher题目链接:字符加密Cipher HYSBZ - 1031题意给你一个长度为N的字符串,让你输出一个字符串,要求,这个字符串是原字符串循环(即每次将第一个字符移至最后一个位置),总共会用N个这样的字符串,然后将这些字符串按照字典序排列,按照顺序每次输出这些串的最后一个字符,这样就形成了一个加密过的字符串。数据范围: N<105N < 10^5N...

2018-09-18 11:54:36 135

原创 P3355 骑士共存问题 (最大独立集).md

P3355 骑士共存问题 (最大独立集)题目链接: 骑士共存问题题意给你一个N * N的棋盘,你需要在里面放置尽可能多的骑士,(骑士走1 * 2)来使得任意两个骑士都无法消灭对方,并且有M个点已经被障碍物挡住了。数据范围: N<200;M<N2N < 200;M < N^2N<200;M<N2思路题目经过稍加分析可.

2018-09-17 18:31:50 262

原创 模板 - 二维树状数组 (单点修改,区间查询)

#include <bits/stdc++.h>using namespace std;#define rep(i,j,k) for(int i = (int)j;i <= (int)k;i ++)#define per(i,j,k) for(int i = (int)j;i >= (int)k;i --)#define debug(x) cerr<&

2018-09-11 21:00:54 241

原创 模板 - 网络流的上下界

无汇源有上下界可行流int main(){ scanf("%d %d",&N,&M); int xx = N+1; int yy = N+2; N += 2; rep(i,1,M) { int x,y,l,r; scanf("%d %d %d %d",&x,&a

2018-09-11 18:03:05 110

原创 HDU-3974 Assign the task (DFS序+线段树)

Assign the task题目链接: J - Assign the task HDU - 3974 题意有一个公司,一共有N个员工,每个员工有一个直接上司(董事长没有),每个上司可以管理自己手下以及自己手下的所有手下。关系为N-1个,有两个操作。C 查询x员工正在干的事T 让x员工及其手下干y事数据范围:N<5∗105,y<109N<5∗105,y&...

2018-09-06 13:56:49 277

原创 HDU-4037 Can you answer these queries?(线段树)

Can you answer these queries?题目链接: H - Can you answer these queries? HDU - 4027题意给你N个数A[i],给你M个操作,每次操作一个区间[l,r][l,r][l,r],有两种操作。将区间内的数都变成自己的根号,取整求区间[l,r][l,r][l,r] 的和数据范围:N,M<105N,M&lt...

2018-09-03 18:40:21 168

原创 VOJ - Robots at Warehouse (图论找规律)

Robots at Warehouse题目链接: J - Robots at Warehouse Gym - 100971J 题意在一个N*M的图中,’.’ 代表可以走的路,’1’代表第一个物体,’2’代表第二个物体,’#’代表墙,问你两个物体能不能交换地方。思路我原先想的是在两种之间找一条路,判断路上会不会出现度为三的点,只要有度为三的点,那么是一定可以到达的,但其实...

2018-07-22 18:51:36 191

原创 VOJ - Turing Tree (莫队/离线线段树)

Turing Tree题意思路代码一思路二代码二Turing Tree题目链接: Turing Tree HDU - 3333题意给你一N个数字,有Q个询问,每次询问一个区间,求这个区间中不同的数字之和 (N < 3e4,Q < 1e5) 思路首先,最简单想到的肯定是暴力算法,但是暴力算法一定会T,复杂度为O(N*Q)...

2018-07-22 16:15:39 1832 1

原创 HDU - Cow Sorting (树状数组)

Cow Sorting题目链接: Cow Sorting题意给定一个大小为N的数组,数组为1~N的全排列,为使数组形成单调递增,需多次交换相邻的两个数,设Cost为交换x,y时的x+y。求最小Cost。思路首先,我们看到了逆序对,这样想到的肯定时树状数组了,树状数组可是解决逆序对的好手。这里还有一个问题,就每次交换都需要消耗,如果是普通的逆序对显然不行,因为通常做的...

2018-06-10 19:34:15 335

原创 模板 - 凸包

模板 - 凸包#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N = 300005;// 存储二维平面点struct ip { int x, y, i; ip(int x = 0, int y = 0) : x(x), y(y), i(0) { }...

2018-06-10 15:40:31 114

原创 笔记 - BM 算法

如果,你的人生,在未来的某一段路上会遇到多个非常大的教训,那么我们应该趋向于寻找最后的这两个坎,能够让我们前进的大小,明显是不同的,先考虑后面的点能让我们省下更多的弯路。以终为始 对优先从最后的一个字符开始比对,如果不相等,就跳到自己串中前一个出现的位置。 - 建立BC串//简易代码int* buildBC (char * P) { int * bc = new int ...

2018-06-07 16:40:40 114

转载 BM算法详解

原帖链接: BM算法详解来源在没有BM算法时,其原始算法是从后往前进行匹配,需要两层循环,判断以某个字符为结尾的子串是否和模式串相等,这种算法也称作暴搜;贴上代码:void BLS(string s, string p) { int s_len = s.size(), p_len = p.size(); int j = 0, i = 0; while ...

2018-06-07 16:39:49 2805

原创 笔记 - 计算几何一 (convex Hull)

计算几何一 (convex Hull)B.Extreme PointsExtremity 当一个点存在一条经过它的直线,并且无法将图形分为两块时,极点。判断极点的方法,判断这个极点是否存在于一个三角形的内部 Make all points of S as EXTRMEE For each triangle ▲ (p,q,r) ​ For each s ∈...

2018-06-07 14:57:57 493

原创 TSOJ - 回文串 (Manachar变种)

回文串 (Manachar变种)题目链接: 回文串题意输入一个字符串。输出子串是回文串的个数。思路普通的Manacher算法求的是最长回文串其中的关键步骤就是res = max(res,p[i]-1)现在要求的是总共的回文子串,那么我们就只需将以每个字符为中心的回文串长度/2即可。代码#include <bits/stdc++.h&gt...

2018-06-05 19:28:24 259

转载 Trie树(字典树)

Trie树(字典树)原帖链接: 浅谈Trie树(字典树)一、引入字典是干啥的?查找字的。字典树自然也是起查找作用的。查找的是啥?单词。看以下几个题:给出n个单词和m个询问,每次询问一个单词,回答这个单词是否在单词表中出现过。答:简单!map,短小精悍。好。下一个给出n个单词和m个询问,每次询问一个前缀,回答询问是多少个单词的前缀。答:map,把每...

2018-06-05 13:07:26 696

原创 归并排序

归并排序很久没打了,现在发现思路跟线段树差不多#include <bits/stdc++.h>using namespace std;const int MAXN = (int) 1e6+7;int N;int A [MAXN];int Tmp[MAXN];void Merge(int l,int r){ if (l == r) { ...

2018-05-24 20:03:23 92

转载 欧拉回路(转载)

欧拉回路作为广大OIer的朋(gong)友(di)的欧拉,在图论中也贡(zuo)献(e)良(duo)多(duan),尤其是萌新经常会遇到以下两个恶心玩意。 欧拉路径:在一个图中,由i点出发,将每个边遍历一次最终到达j点的一条路径。 欧拉回路:i=j时的欧拉路径。 于是,如何确定一个图是否存在欧拉路径/回路,并找到这条路经,成为了出题人虐待萌新的法宝。无向图首先,在无向图...

2018-05-24 18:51:01 124

原创 ZOJ - 2852 - Deck of Cards (三维DP)

Deck of Cards题目链接: D - Deck of Cards ZOJ - 2852 题意按顺序给你很多的牌,牌的价值从1到10不等,有一张特殊的牌Joker可以代表尽可能大的值;然后给你三个插槽,从他们有自己的序号1,2,3.我们可以把多张牌插入插槽,但是其值不能大于21;当插槽里面的牌值总和等于21时,可以将这里的牌都拿走。每成功插入一张牌就奖励50元如果操作...

2018-05-24 15:54:52 163

原创 总结 - 易错点

易错点ONE题目要求是 “##” 结尾,我使用了str[1] == ‘#’ && str[2] == ‘#’; single line containing only “##” marks the end of a test case. TWO题目给的是 f1 := 1 f2 := 2 fn := fn-1 + ...

2018-05-24 15:53:53 120

原创 模板 - 欧拉函数

模板 - 欧拉函数int euler (int n){ //返回euler(n) int res = n,a = n; for (int i = 2;i*i <= a;i ++){ if (a%i == 0){ res = res/i*(i-1);//先进行除法是为了防止中间数据的溢出 ...

2018-05-24 15:52:50 136

原创 模板 - 负环(Djs改进)

负环(Djs改进)/*Time : 47Mem : 780*/#include <iomanip>#include <cstring>#include <cstdlib>#include <cctype>#include <cstdio>#include <string>#include <st...

2018-05-24 15:51:15 133

原创 模板 - 二分图(匈牙利算法)

二分图(匈牙利算法)#include <bits/stdc++.h>using namespace std;using namespace std;const int MAXN = 510;int line[MAXN][MAXN];int used[MAXN]; //在男生的某次访问里,女生能不能匹配到int nxt[MAXN]; //如果匹配到的话,这个男生是谁...

2018-05-24 15:41:36 107

原创 VOJ - Ran and the Lock Code (规律+二分)

Ran and the Lock Code题目链接: Ran and the Lock Code Gym - 101778B题意给你一个n和a要你构造一个含n个正数的序列,并满足这个序列里所有数的平均数是a,现在要求这个序列里最多能有多少不同的数字。思路因为这些数字的平均数是a嘛,所以就非常容易的想到另外的数字在a的左右两侧平均分布,如果是偶数,就在a左右取相等个数的...

2018-05-22 17:10:50 236

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除