自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

等我,等我变的更好就去找你

什么叫堕落?明知道有很多事去做,却无动于衷。

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

原创 8.13总结当日

今天我们队排名第四,然后总排排第6,勉强站住了区域赛的位置,还有12天,要继续加油啊8.13场地址B题:(Tarjan||暴力)题意:有一幅图,然后问你这幅图里面有多少个子图满足图的两个部分是完全对称的,而且这两个图要是完全图解法:由于最大为1e5,所以可以考虑直接暴力枚举每条边,之后从这两条边dfs下去,看它左右两边的子图是否对称#include<cstdio...

2018-08-13 22:55:14 266

原创 8.12总结前日和今日

今天是组队赛的第三天,第一次打div2的比赛,表示真的有点难,还是有很长的路要走啊8.11场链接D题:(最小生成树)题意:n个点,每个点有一个权值,每两条边的权值为边的两个点的权值的gcd,求这幅图的最大生成树解法:首先处理出每个点权值的所有公因数,以所有的公因数为点,建一条点编号与其公因数的边,之后从大到小枚举每条边,跑一遍最大生成树即可#include<cs...

2018-08-12 21:50:25 227

原创 8.9日总结

光荣的进队了,今天是第一场组队赛,队友都表现的很厉害,自己也要加油

2018-08-10 15:24:29 191

原创 8.1日总结

打到一半已经不想写了,来写博客吧,希望能进队7.31地址 C题: 题意:给定一个长为n,宽位m的矩形,然后两个人依次往矩形里面画半径为n的圆,问先画的人会赢还是后画的人会赢解法:类比NIM博弈,你先手一个动作,如果我能通过模仿你的动作让局势再回到最开始的状态,就能让你输。这道题也一样,只要这个圆不大到让后手所画的圆构不成对称图形,那么先手就输了。圆最大的标准就是它不会大的超过最...

2018-08-01 17:52:54 139

转载 二分图最大匹配模板

const int maxn=1505;//这个值要超过两边个数的较大者,因为有linkint link[maxn];bool used[maxn];vector<int>G[maxn];int uN;////为点的个数,如果编号从0开始就是n,否则就是n+1;bool dfs(int u){ for(int i=0;i<G[u].size();i++){ ...

2018-07-31 00:48:50 114

原创 7.30总结当日

集训队的招募马上就要截止了,还是有点不太稳,但要加油7.30场地址 B题: 题意:给出一个多边形的各个定点,要求所有这些顶点能构成的三角形面积的最小值为多少?解法:首先三个相邻的点所构成的三角形的面积最小,之后三角型面积的计算方法也是重点#include<cstdio>#include<algorithm>#include<cmath&gt...

2018-07-30 18:11:35 140

原创 dp刷题板块

Uva1025 题意:这个城市有n个车站,每隔一段时间会从所有车站的一遍发出一列列车,有一个要从第一个车站出发,目的是在时间T会见车站n 的一个人,需要换乘,问在不同车站换成所需要等待的最短时间是多少解法:d(i,j)表示在时刻i,你在j车站所需要等待的最长时间,有三种决策,1. 等一分钟、2. 搭乘往右开的车、3. 搭乘往左开的车#include<cstdio>#in...

2018-07-29 20:17:13 355

原创 7.29总结当日

今天排名一般,但是却感觉不错,也是可以的7.29场链接 A题: 题意:01背包问题,要求最优情况是重量和体积都最大的情况解法:和之前的“劲歌金曲”那道题挺像的,就是设计一个最优状态,只有当这个状态比当前状态更优的时候我们才进行状态转移,状态这个词最为重要 注意压缩完空间后的最终状态所处的位置#include<cstdio>#include<algori...

2018-07-29 19:55:49 113

转载 RMQ模板

int d_min[maxn][maxm], d_max[maxn][maxm];//值int minpos[maxn][maxm], maxpos[maxn][maxm];//下标//预处理区间最大最小值void RMQ_init(int n){ int i, j; for (i = 1; i <= n; i++){ d_min[i][0] = a...

2018-07-28 00:25:23 315 1

原创 7.27总结前日

还是没有更新rating,期末考试成绩也没出来,有点烦 今天休假,踢了场球,权当放松一下7.26场地址 E题:那道出了好多次的题,还是贴一下吧hhh//HDU5649的板子#include <map>#include <set>#include <cmath>#include <ctime>#include &l...

2018-07-28 00:22:44 120

原创 7.26总结前日

这两天rating还可以,继续保持队内赛链接: D: 题意:给你一张折纸,这张这只分成了很多的方块,每次折叠会将所有方块上的值相累加,然后问你能否通过有限次折叠变成最终目标的状态解法:计算出所有可能的值,存到set里面查询。。。。 说实话感觉是dp那一块的,但是并不怎么会#include<cstdio>#include<iostream>#...

2018-07-26 20:26:12 112

原创 7.25总结前日

害怕,也不知道能不能,就是感觉有点累,有点空虚,赶紧学习啊!比赛地址链接 C题: 题意:有n个人,q个询问,每次询问会给出回答的同学名字,之后会给出要求的人的回答的所有问题,1代表它回答了那个问题,0代表他没回答那个问题,问能不能唯一确定那个人,如果能的话就输出那个人的名字,不能的话就输出“去图书馆!”。方法: 留意到最多21道题,就可以想到用一个数来储存答案,这个人每回答一...

2018-07-25 22:18:38 98

原创 7.24补前日

今天还阔以链接: B题: 题意:有一个字符串,里面可能有很多的happiness的单词,我们只能进行一次操作交换两个字母,要求将所有的happiness都删除掉,保证有解,输出交换的两个字母的位置解法: 统计串中出现的happiness的数目,如果大于等于2的话就是无解的; 之后,当字符串的长度小于9的时候,直接交换前两个就可以 之后: 1. 当有两个happines...

2018-07-24 19:37:50 120

原创 7.23总结前日

第一次:排名出来了,27名,离进队还差一点,要继续努力!7.22场链接 A题: 题意:一共有n张牌,每张牌有一个属性值(a,b,c),每次比大小之前可以任意调换三个属性的位置,求有多少张牌通过这种方式肯定能战胜其他的牌。解法:首先我们找出每张牌的属性值的最小的两个的最大值,之后我们依次枚举每个牌,看这张牌上最大的两个属性的牌能不能大于那最小的属性值,如果可以的话,这张牌就可以,...

2018-07-23 19:55:16 123

原创 7.22

好几天了,一定要进校队! 不择手段!7.21场地址 A题: 题意:类比竖式加法,每个字母都要分配一个数字,最后一行是结果,之前多行是因数,求一共存在多少种字母的分配方案 解法:枚举每一个字母,每枚举一个检查一遍#include <iostream>#include <stdio.h>#include <string.h&am

2018-07-22 17:40:39 177

原创 7.19

今天偷偷搜了几道题,以后尽量减少这样的行为==题目链接H:GRE阅读题#include<cstdio>#include<iostream>using namespace std;int num[] = { 5, 21, 12, 2, 1, 4, 6, 1, 4, 4, 1, 0,1,1 };int main(){ i

2018-07-19 22:39:26 218

原创 数状数组 及其在 求逆序对中的应用

讲解链接如果树状数组维护的是a数组的值,那么 sum[i] 表示在 a 数列1~i中的元素的和 查询(l,r)中元素的和就为 sum(r)-sum(l)逆序对的定义: i < j && a[i] > a[j] 例题中的逆序对: pre[i]为1~i中a[i]的个数; nex[i]为i~n中a[i]的个数 这时候的逆序对就是,i < j...

2018-07-19 22:25:09 176

原创 7.18

今天现场只过了一道题==有点尴尬7.17场训练地址:B题: 题意:你有x块饼干,要分给n个人,以5个人为例,分的顺序是1,2,3,4,5,4,3,2,1,2。。。问最后每个人会分得多少块饼干。解法:简单的模拟,循环节长度为n*2-1,注意当n==1的时候的特例情况#include<cstdio>#include<cstring>#include...

2018-07-19 00:51:16 103

原创 7.17

今天是第二天了,测评姬出了些毛病,今天的rating不算,有喜有悲吧 明天加油!Codeforces Round #498 (Div. 3) A:Adjacent Replacements 题解:奇数位置上的数不变,偶数位置上的数-1;#include<cstdio>#include<algorithm>using namespace std;i...

2018-07-18 01:14:48 115

原创 7.16

集训的第一天,不知道能不能走到最后Uva120煎饼 题意:有一串串的序列,要求每次选定一个点,将这个点以上的序列进行翻转,最终态是要求整个序列为升序 解法:每次考虑最高的元素,先将其反转到最高位,再反转到对应的位置 代码如下:#include<cstdio>#include<string>#include<iostream>#incl...

2018-07-17 01:06:48 183

原创 区间dp(模板+例题)

参考博文:区间dp小结(附经典例题) 首先,什么是区间dp?它是干什么的? 先在小区间进行DP得到最优解,然后再利用小区间的最优解合并求大区间的最优解 操作往往涉及到区间合并问题 以上。模板如下://mst(dp,0) 初始化DP数组 for(int i=1;i<=n;i++) { dp[i][i]=初始值 } for(i...

2018-06-20 23:49:04 615

原创 数位dp(模板+例题)

文章参考:数位dp之总结首先,什么是数位dp?它是干什么的? 数位dp是一种计数用的dp,一般就是要统计一个区间[le,ri]内满足一些条件数的个数。举个栗子: 加入我们要枚举所有上界不超过231的数,那么我们一般的做法就是:for(int i=le;i<=ri;i++) if(right(i)) ans++; 这里的le和ri分别是0和23...

2018-06-20 23:20:06 156

原创 01背包

设n个重量为(W1,W2,…Wn)的物品和一个载重为m的背包,每个物品只能选择放或不放,将物品放进背包中的利润是Pi,问背包中物品的利润和的最大值。设f[i][j]表示装前i件物品重量为j的时候的最大利润值转移方程:f[i][j]=max(f[i-1][j],f[i][j-w[i]]+p[i]) 空间压缩之后:f[j]=max(f[j],f[j-w[i]]+p[i])注意f的范围应该...

2018-06-18 23:19:58 156

原创 刷题板块

Uva 208: 题意: 输入n个结点的无向图及某个节点k,字典序升序输出n到k的所有道路,不可重复经过结点题解: dfs裸搜会T,所以需要每次搜索的时候都判断一下搜索的这个节点与目的节点能否联通,这里用并查集实现这个功能,若两个结点在同一集合中就表示为联通代码如下:#include<cstdio>#include<string.h>#includ...

2018-06-16 15:09:16 130

原创 回文串--Manacher算法(模板)

用途:在O(n)时间内,求出以每一个点为中心的回文串长度。 首先,有一个非常巧妙的转化。由于回文串长度有可能为奇数也有可能为偶数,说明回文中心不一定在一个字符上。所以要将字符串做如下处理:在每两个字母之间插入一个特殊字符,通常用“#”,这样所有的回文串就都变成了以一个字符为回文中心的。并且,我们需要在字符串的开头或者结尾插入另一个特殊字符,比如说“*”,防止它无休止地匹配下去。 ...

2018-06-14 19:52:06 134

原创 Ex-KMP(模板)

首先,明白Ex-KMP是干什么的: 给定两个字符串母串S和子串T(长度分别为n和m),下标从0开始,定义extend[i]等于S[i]…S[n-1]与T的最长公共前缀的长度,求出所有的extend[i]。简单来说,就是求母串的每个后缀与子串的最长公共前缀长度,存在extend数组中。 即:一个母串,一个子串,多次匹配。例题链接:J - 好吃不过饺子 两个数组,a[n]和b[m...

2018-06-13 10:30:06 691

原创 A*模板(求K短路)(POJ2449)

A*是bfs的优化,IDA*是dfs的优化 A*算法: 为启发式算法中很重要的一种,被广泛应用在最优路径求解和一些策略设计的问题中。而A*算法最为核心的部分,就在于它的一个估值函数的设计上: f(n)=g(n)+h(n) 其中f(n)是每个可能试探点的估值,它有两部分组成:一部分为g(n),它表示从起始搜索点到当前点的代价(通常用某结点在搜索树中的深度来表示)。另一部分,即h(n...

2018-06-13 00:06:25 473

原创 回溯经典(指定位置N皇后问题)

N皇后问题自不必多说,这道题的先行条件是在放置的时候已经指定了一个棋子的位置。输入第一行为N,第二行为指定棋子的坐标(x,y);输出方案总数以及按字典序升序的各种方案。思路: 首先是回溯,其次对待指定棋子有三种方法: 枚举所有情况,最后判断 在枚举到那一行的时候只让棋子下在指定的那一列 初始化vis数组时进行标记,同时跳过枚举x行和y列 第三种我没写出来,...

2018-06-12 12:50:36 171

原创 简单搜索(多位自幂数)+数列网站

题目: 我们定义n位自幂数为: 如果x是n位数,x的各位的n次方的也为x,那么x为n位自幂数 求n位自幂数有哪些,0< n <=19,x > 0,排序后输出 时限3000ms。解法1:打表 首先,如果拿到一个数列,可以先试试这个网站:OEIS,输入数列串,就会返回通项公式同时给出表,可以以后直接打表用。解法2:搜索 怎么搜索?? 暴力枚举n位?最差情况9^1...

2018-06-12 10:49:07 1038

原创 AC自动机(模板+例题)

首先要明白AC自动机是干什么的: AC自动机其实就是一种多模匹配算法,那么你可能会问什么叫做多模匹配算法。下面是我对多模匹配的理解,与多模与之对于的是单模,单模就是给你一个单词,然后给你一个字符串,问你这个单词是否在这个字符串中出现过(匹配),这个问题可以用kmp算法在比较高效的效率上完成这个任务。那么现在我们换个问题,给你很多个单词,然后给你一段字符串,问你有多少个单词在这个字符串中出现...

2018-06-12 00:51:28 1426

原创 折半枚举+Hash(HDU1496升级版)

题目链接:N - 方程的解给定一个四元二次方程: Ax1^2+Bx2^2+Cx3^2+Dx4^2=0 试求−1000≤x1,x2,x3,x4≤1000非零整数解的个数。 −10000≤A,B,C,D≤10000输出解的个数。解法: 首先这道题直接用网上HDU1496的板子过不去,原因是1e10的数组开不了那么大的。所以这里只能换思路。新思路如下(很典型的折半枚举,也就是m...

2018-06-12 00:31:46 162

原创 KMP(模板)

算法讲解: KMP算法最浅显易懂 模板来源: 从头到尾彻底理解KMP例题:2018 UESTC Training for Search Algorithm & String——L主楼题意:求字符串中的最短循环节,并输出该循环节 KMP最小循环节、循环周期: 定理:假设S的长度为len,则S存在最小循环节,循环节的长度L为len-next[len],子串为S[0…le...

2018-06-11 12:39:54 162

原创 回文树(模板)+ 例题

引用: Palindromic Tree——回文树【处理一类回文串问题的强力工具】 回文树练习题集首先,回文树有何功能? 假设我们有一个串S,S下标从0开始,则回文树能做到如下几点:1.求串S前缀0~i内本质不同回文串的个数(两个串长度不同或者长度相同且至少有一个字符不同便是本质不同) 2.求串S内每一个本质不同回文串出现的次数 3.求串S内回文串的个数(其实就是1和2结合起来)...

2018-06-10 20:50:35 1739 1

原创 字符串hash补充(快速幂模板)

题目: 字符串的哈希就是通过某些映射关系,将字符串映射到数字上去方便进行比较。 比如二进制数110110,我们知道这个数的十进制是 54 基于同样思路,我们可以定义这样的一个哈希函数:哈希函数是基于163进制的,即 hashi=(s1−′a′)163^i−1+(s2−′a′)163^i−2+…+(si−′a′)∗1630 这样,一个字符串从0到i的哈希值便计算了出来。现在给定一个...

2018-06-10 19:16:03 312

转载 字符串hash

转载自:远航休息栈Hash是什么意思呢?某度翻译告诉我们:hash 英[hæʃ] 美[hæʃ] n. 剁碎的食物; #号; 蔬菜肉丁; vt. 把…弄乱; 切碎; 反复推敲; 搞糟;我觉得Hash是引申出 把…弄乱 的意思。今天就来谈谈Hash的一种——字符串hash。据我的理解,Hash就是一个像函数一样的东西,你放进去一个值,它给你输出来一个值。输出的值就是Hash值。...

2018-06-10 11:54:35 624

原创 最小生成树与次小生成树

题意:给出两个不同方案,每个方案使得所有的城堡被连通(形成连通图),同时使边权之和尽量小,问第一个方案与第二个方案的大小关系。解题思路: 因为m个桥能使n个城堡联通,而两个大爷的方案中至少存在一个桥不相同,那么我们判断这是一个求次小生成树的方法。 求次小生成树模板: https://blog.csdn.net/alice_991/article/details/48225949 枚举+...

2018-06-08 13:00:32 357 2

原创 最大流--模板

题意:问能否构造一个矩阵,使得矩阵中的每个数字范围是1-20并且满足矩阵每行之和与矩阵每列之和与所给数组相等。思路:尽管矩阵是20*20 ,但是如果爆搜复杂度依旧爆炸,我们考虑使用网络流解决这个问题,下面重点讲解怎么构图。至于怎么写可以参考紫书,与网上的模板。建图:先来考虑本题的限制是什么,首先i行与j列 存在着一个关系 即共用元素k[i][j],如果我们把数组A[i]和B[j]分别看成节...

2018-06-08 12:58:34 150

原创 联通快--模板

求联通快模板 Uva 油田#include<cstdio>#include<iostream>#include<string.h>using namespace std;const int maxn = 1000 + 5;char g[maxn][maxn];int m, n, id[maxn][maxn];void dfs(int r...

2018-06-08 12:58:26 223

原创 最小生成树--模板

题意:N个城堡,M个桥,每个桥的权值都不一样,题目要求能使城堡彼此联通的所有桥集合里面权值最小的那种,由此可以判断这是一道求最小生成树的题。#include<cstdio>#include<algorithm>using namespace std;typedef long long ll;const int maxn = 2000 + 5, maxm = 2...

2018-06-08 12:58:17 329

原创 spfa--模板

题意: 给定数字n,m,(1≤n,m≤500000) 将n变为n*2的花费为2,将n变为n-3的花费为3,要求过程当中所有数字都在[1,500000]区间内。 求将n变为m的最少花费。思路: 将每个数字视为图论中的点,数字之间的转换视为图论中的边。有向图! 500000个点,连边(i,i*2)权值为2,连边(i,i-3)权值为3 求n至m的最短路就是最小花费 除Floyd之外的方...

2018-06-08 12:58:09 112

空空如也

空空如也

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

TA关注的人

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