自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(100)
  • 收藏
  • 关注

原创 存一下板子

fft#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <cctype>#include <cmath>#include <algorithm>#define MAXN 1000000u...

2019-07-15 18:16:40 212

转载 卡常火车头

#pragma GCC diagnostic error "-std=c++11"#pragma GCC target("avx")#pragma GCC optimize(3)#pragma GCC optimize("Ofast")#pragma GCC optimize("inline")#pragma GCC optimize("-fgcse")#pragma GCC opti...

2019-04-08 14:01:33 1428

原创 退役祭

终于快要到退役的日子了学了几年oi,希望不要遗憾散场吧就这样,文化课不算差,还可以抓

2019-11-15 11:08:46 251

原创 [LGOJ2340]奶牛会展——[简单DP]

【题意分析】把智商看成费用,情商看成价值,就是一道水背包至于数组下标会有负数,只要都加上一个值使下标为正即可最后的答案要遍历所有状态Code:#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <cctype>...

2019-11-15 11:06:35 215

原创 [NOIpPJ2009]道路游戏——[简单DP]

【题意分析】暴力dp,dp[i]表示第i分钟的最大收益那么枚举时间、上次从哪个工厂走来以及步数,直接dp:dp[i]=max⁡(dp[i],dp[i−k]+totpathvalue−cost[startpoint])dp[i] = \max(dp[i],dp[i-k]+totpathvalue-cost[startpoint])dp[i]=max(dp[i],dp[i−k]+totpat...

2019-11-15 09:32:49 294

原创 [TJOI2008]Binary Land——[BFS]

【题意分析】本来想做dp题的,然后发现这是道sb宽搜直接来,暴力bfs,注意点是vis[][][][]数组要有四维(记录两个人的信息)还有一只企鹅往左走,另一只企鹅往右走输入字符用cin,还不能关流同步,不然会错,挺玄学的getchar判断回车也会错这个sb错误浪费了我好多时间Code:#include <iostream>#include <cstdio&...

2019-11-15 08:25:25 190

原创 [NOIpTG2012]借教室——[二分+差分]

【题意分析】借此题复习差分与二分首先答案是有可二分性的——到第i个人可以,那么到i前面的人全都是可行的那么我们先二分,但是每次怎么统计能不能满足到第mid个人的任务要求呢?注意到问题转化为每天的供应量能不能满足需求量,乍一看好像是线段树题其实没有这么麻烦,考虑差分:对于一个询问:[li,ri][l_i,r_i][li​,ri​]需求量为did_idi​本来是区间加,但是我们只要在li...

2019-11-15 07:19:37 122

原创 [LGOJ3694]邦邦的大合唱站队——[状压DP]

【题意分析】属于比较简单的状压dp,数据范围20也提示得非常明显。我们压排好第iii种偶像的状态,0没排,1排直接上:dp[i]表示iii这个状态最少需要移动几次注意到你要排好,实际上不用纠结人从哪里排起,因为你选中的偶像排好,其他人是可以随便插入的,因此我们假定最后排好的状态偶像们是从前往后站的,没有排好的一律放在最后面。那么我们就对于这个状态枚举偶像,假定第j种偶像排在[L,R]...

2019-11-14 20:44:21 159

原创 [NOIpTG2018]货币系统——[简单DP]

【题意分析】显然是一个可行性dp,dp[i]就表示当前状态可不可达对于输入,给你的aia_iai​一次一次往上筛就好了,复杂度正确Code:#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <cctype>...

2019-11-14 19:52:18 210

原创 [NOIpTG2007]树网的核——[floyd]

【题意分析】把题目从ccf语转化成中文:在树的直径上取一段路径,使得所有其他节点到这条路径的最大距离最小,而且取的这段路径长度不能超过maxlen数据规模300小得可怕,所以直接上n^3算法。直接floyd求出两两之间距离,然后可以由两两之间最大距离得到树的直径即两端节点然后枚举直径上的路径,直接暴力找出答案,取一个min⁡\minminCode:#include <iost...

2019-11-14 19:16:54 189

原创 [NOIpTG2014]飞扬的小鸟——[计数DP]

【题意分析】考虑dp,dp[i][j]直接表示到坐标为(i,j)(i,j)(i,j)的点有几种方案,不可到达就是INFINFINFlow[i]和top[i]就是在这个位置最低在low[i]位置,最高在top[i]位置可以通过,记得赋初值up[i]和down[i]分别是在这个位置可以上升/下降多少高度那么当前状态可能是从下面升上来的,也有可能是从上面掉下来的,这样就有dp[i][j]=...

2019-11-13 20:51:12 222

原创 [NOIpPJ2018]对称二叉树——[搜索]

【题意分析】稍微画下图就知道:对称二叉树的一个节点,左儿子的右儿子和右儿子的左二子一样那岂不是一个dfs就解决了Code:#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <cctype>#include ...

2019-11-12 21:18:17 150

原创 [洛谷模拟赛T2]画地为佬——[简单数学]

【题意分析】题意:用nnn根火柴棒最多可以摆成几个正方形,不一定要用完火柴棒首先明确摆法是贴着边一个一个摆下来的,摆法有很多而且都是等价的,我是这么摆的:那么正方形就是一层一层地摆下来的,那么接下来有两种求法:每一层比前一层多摆4根火柴,那么根据数列知识:a1=4,an+1−an=4(n∈N∗)a_1=4,a_{n+1}-a_n=4(n\in \N ^*)a1​=4,an+1​−an...

2019-11-12 21:12:23 183

原创 [NOIpTG2014]寻找道路——[SPFA]

【题意分析】这是道挺好的思维题,但是被我秒了首先直觉告诉我们连反边,从终点开始往前进行bfs扩展标记,把那些可以到达终点的边全都找出来。但题目说能到达终点的点,他们连向的点全部都能到达终点,那么我们就找那些没有标记的点,他们连向的点全部是不符合要求的这样筛选过之后剩下的全都是符合题意的点,跑一遍最短路就好了Code:#include <iostream>#include...

2019-11-12 11:10:30 120

原创 [NOIpTG2015]子串——[计数DP]

【题意分析】这种dp题也就是按照套路来,先设一个四维的状态:dp[i][j][k][l]就是第一个串前i个,第二个串前j个,取了k段,第二个串当前位置取不取(0不取1取)的方案总数计数dp嘛,分类讨论:如果枚举的位置两个字符相同,那么就表明可以取或不取dpi,j,k,0=dpi−1,j,k,0+dpi−1,j,k,1dp_{i,j,k,0}=dp_{i-1,j,k,0}+dp_{i-1,...

2019-11-11 20:41:07 157

原创 [NOIpTG2005]过河——[简单DP+路径压缩]

【题意分析】naive的dp方程式(dp[i]就是答案):dpi=min⁡s≤j≤t,i≥j{dpi−j+isstonei}dp_i=\min_{s\leq j\leq t,i\geq j}\{dp_{i-j}+isstone_i\}dpi​=s≤j≤t,i≥jmin​{dpi−j​+isstonei​}然后L最大有1e9你mle加tle了很明显中间有大量的无用状态,根据小凯的疑惑那道题...

2019-11-11 12:43:28 160

原创 [NOIpTG2014]联合权值——[简单数学+模拟]

【题意分析】这道题的idea炒鸡妙啊首先枚举点是显然不可取的,那么我们换种思路——枚举那个中间点。两个值a,ba,ba,b距离为2,那么会产生2ab2ab2ab的权值(数对是有序的)那么就相当于这个中间点连着两个值,如果连着三个呢?答案就是2ab+2ac+2bc2ab+2ac+2bc2ab+2ac+2bc,发现什么没有?2ab=(a+b)2−(a2+b2)2ab=(a+b)^2-(a...

2019-11-11 12:33:27 166

原创 [IOI2008]Type Printer打印机——[trie]

【题意分析】要求操作数目最少,那么可想而知最长的单词就不用删除了,打印一下就好了然后我们可以根据输入建出trie树,首先最长的那个字符串每个字母都要在trie上打好标记。然后进行DFS遍历,如果在一个单词的末尾就打印,然后记录一下除了最长的字符串之外还有没有字母可以输出,否则就输出一个减号(删除标记)遍历到最长的一个字符串末尾时停止即可Code:#include <iostr...

2019-11-11 12:21:19 223

原创 [NOIpTG2015]运输计划——[树上差分+LCA]

【题意分析】首先明确一个性质,要删除的边肯定在最长路径上面,因为如果不在上面的话最大值相当于没变。然后我们二分这个最大值能不能达到,check的过程:找到所有比二分值长的路径,设其数量为tot,运用树上差分:路径两段差分值+1,lca处差分值-2(因为是边权题,如果是点权,则是在lca父亲处-1)然后我们充分利用差分数组:从根到点的路径上的差分值之和就是这些路径(比二分值大的路径)有多...

2019-11-10 14:07:01 116

原创 11.09模拟赛T1&T2

n为字符串长度,len为s长度想到正难则反,先求出合法的字符串数量,再用总数26n26^n26n去减就好了类似于隔板法的思想,s字符串总共有len+1len+1len+1个空位可以放字符串,长度为剩下的n−lenn-lenn−len考虑在s前面加入n−lenn-lenn−len个字符,总共有26n−len26^{n-len}26n−len种如果插入在s第一个字符后面(往后移一格)还是26...

2019-11-10 08:01:44 140

原创 [COCI2009]OTOCI/极地旅行社——[LCT]

【题意分析】权当复习LCT吧,操作很简单:bridge:直接findroot判一下连通性就好了,如果不连通就linkpenguins:splay一下然后改一下权值excursion:判一下连通性之后split把路径拉出来就好了关于连通性的判法:直接findroot(x)==findroot(y)当然可以,一次makeroot(x)之后x就是根了,然后一次findroot(y)看看...

2019-11-08 21:07:40 124

原创 [SPOJ3267]DQUERY-D-query——[莫队]

【题意分析】裸莫队不解释,太模板了直接上代码Code:#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <cctype>#include <cmath>#include <algorith...

2019-11-08 19:18:00 151

原创 [TJOI2010]阅读理解——[trie]

【题意分析】很裸的一道trie啊,权当复习了读入时就一个一个插入trie里面,然后就是查询这个单词是不是出现过由于可能会爆内存,bool数组用bitset就好了Code:#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include ...

2019-11-05 18:37:25 141

原创 [LGOJ2245]星际导航——[kruskal重构树+LCA]

原题传送门:https://www.luogu.org/problem/P2245【题意分析】知识点:kruskal重构树构建重构树的过程:kruskal时,将边上的端点全都和一个虚点相连,这个点的点权就是原来的边权。性质:重构树上的LCA就是两边所有路径危险值最大的最小值。...

2019-11-04 20:43:17 205

原创 11.3模拟赛T1&T2

正解是可持久化trie,可是我不想写打了个30pts暴力加个火车头。。。以为加个10分差不多了然后给我过了笑死我了代码就不放了开始觉得贪心很有问题啊,于是写dp然后发现状态t太大了而且压不了,而且贪心我也hack不掉啊策略就是:对于每个节点维护最近的比这个节点充电便宜的节点。如果在行走范围内这样的节点存在,就充电至刚好走到那儿电量为0。否则直接在当前节点充满,注意刚要抵达时电不...

2019-11-03 20:33:21 108

原创 [APIO2014]序列分割——[斜率优化DP]

【题意分析】题意就是把一个序列切k刀,每次的得分为序列两边元素之和的乘积下证答案与切割的顺序无关,只与切割的位置有关。//这是一个丑陋的图假设你切在红色的两个位置,那么就有先切ab处再切bc处或者先切bc处再切ab处两种切法。ans1=a(b+c)+bc=ab+ac+bcans1=a(b+c)+bc=ab+ac+bcans1=a(b+c)+bc=ab+ac+bcans2=(a+b)...

2019-11-03 20:11:19 133

原创 10.31模拟赛T2

问题就是把整个图分为两个完全图首先建一个原图的补图,然后可以发现这个补图有许多独立的连通块。对于每个连通块,进行黑白染色,就可以得到一些性质(针对补图):问题转化为将补图分为两组,每组中在补图中互不连边(在原图中就是两两连边,完全图)同一个连通块里面,两种颜色的点肯定分属于两组。加入何组与颜色无关,只要保证一个连通块中的点没有在一组里面就好了用一个可行性dp解决这个问题,dp[i...

2019-11-01 20:45:11 142

原创 [CEOI2004]锯木厂选址——[斜率优化DP]

【题意分析】首先这道题是有sa做法的,可是我不想写我们先对于数据做一些处理:dis[i]表示距离的后缀和(这个点到山下锯木厂的距离),sum[i]表示质量的前缀和,cnt为所有木材全部运输到山下那个锯木厂的价格(即山上不建任何锯木厂)那么有ans=min⁡1≤j<i{cnt−dis[j]∗sum[j]−dis[i]∗(sum[i]−sum[j])}ans=\min_{1\leq j...

2019-10-31 19:28:12 183

原创 [TJOI2016]排序——[线段树]

【题意分析】首先,暴力sort有30pts…全排列是一个特别好的性质,我们想想有没有特别的做法。由于数字保证不重复,对于x,把大于等于x的数全部变为1,把小于x的数全部变成0。那么我们可以发对于现:对于要排序的区间[l,r],如果是升序,那么区间前面肯定是若干个零,后面全是1,如果是降序,那么区间前面全都是1, 后面全都是0。然后这样操作之后我们看看要求的q位置上数字是否为1,就可以初...

2019-10-31 18:13:51 404 1

原创 [USACO08MAR]土地征用Land Acquisition——[斜率优化DP]

【题意分析】首先可以发现一个性质:如果一个矩形长和宽都小于等于另一个,完全可以过滤掉这个矩形。怎么实现?排个序就好了然后我们dp[i]表示前i个矩形的最小费用,那么dpi=min⁡1≤j<i{dpj+wj+1hi}dp_i=\min _{1\leq j<i}\{ dp_j+w_{j+1}h_i\}dpi​=1≤j<imin​{dpj​+wj+1​hi​}斜率优化一下...

2019-10-29 19:17:13 173 1

原创 10.27模拟赛T2

愚蠢的朴素dp比较好写,注意到唯一的瓶颈就在于状态太大,考虑离散不能整除k的因子可以过滤掉,然后把因子放进map里面,reverse_iterator遍历一遍用朴素dp方程dp[i][j]=dp[i−1][j]dp[i][j]=dp[i-1][j]dp[i][j]=dp[i−1][j]dp[i][j]+=dp[i−1][j/u]dp[i][j]+=dp[i-1][j/u]dp[i][j]+...

2019-10-28 21:30:20 112

原创 [SDOI2008]郁闷的小J——[离散+分块]

【题目描述】【输入格式】【输出格式】Sample  InputSample~~InputSample  Input5 51 2 3 4 5Q 1 3 2Q 1 3 1C 2 1Q 1 3 2Q 1 3 1Sample  OutputSample~~OutputSample  Output...

2019-10-24 21:34:51 122

原创 10.23模拟赛T1

(1<=n<=1000,1<=m<=100000)这是一道傻逼题,正解是用数组维护次短路的相关信息,但是直接暴力BFS就过了,笑死我了#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <cctyp...

2019-10-24 20:29:29 122

原创 CSP2019初赛知识整理

图灵机是理论模型,巴贝奇差分机II号(I号是发明出来了)、巴贝奇分析机都没有被发明出来,EDVAC发明出来了。BIOS(Basic Input Output System,基本输入输出系统)原码正数符号位为0,负数(有符号数)符号位为1;反码正数不变,负数除符号位各位取反;补码正数不变,负数除符号位各位取反再+1前缀表达式(波兰式),后缀表达式(逆波兰式)最优前缀编码(Huffman,哈...

2019-10-18 17:50:10 1181

原创 [LGOJ2002]消息扩散——[缩点]

【题目描述】有n个城市,中间有单向道路连接,消息会沿着道路扩散,现在给出n个城市及其之间的道路,问至少需要在几个城市发布消息才能让这所有n个城市都得到消息。【输入格式】第一行两个整数n,m表示n个城市,m条单向道路。以下m行,每行两个整数b,e表示有一条从b到e的道路,道路可以重复或存在自环。【输出格式】一行一个整数,表示至少要在几个城市中发布消息。Sample &nbsp...

2019-10-09 21:32:06 193

原创 [HNOI2008]玩具装箱TOY——[斜率优化DP]

【题目描述】P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京。他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中。P教授有编号为 1⋯N1\cdots N1⋯N 的 NNN 件玩具,第 iii 件玩具经过压缩后变成一维长度为 CiC_iCi​.为了方便整理,P教授要求在一个一维容器中的玩具编号是连续的。同时如果一个一维容器中有多个玩具,那么两件...

2019-09-24 20:24:13 117

原创 [APIO2010]特别行动队——[斜率优化DP]

【题目描述】你有一支由 n 名预备役士兵组成的部队,士兵从 1 到 n 编号,要将他们拆分 成若干特别行动队调入战场。出于默契的考虑,同一支特别行动队中队员的编号 应该连续,即为形如(i,i+1,...,i+k)(i, i + 1, ..., i + k)(i,i+1,...,i+k)的序列。 编号为 i 的士兵的初始战斗力为 xi ,一支特别行动队的初始战斗力 x 为队内 士兵初始战斗力之和,...

2019-09-22 21:29:17 156

原创 网络流学习计划

EK就跳过了,计划noip前尽量做完网络流24题吧。【模板】网络最大流 dinicCode:#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <cctype>#include <algorithm>...

2019-08-14 21:06:01 168

原创 [LGOJ4551]最长异或路径——[01trie]

【题目描述】给定一棵n个点的带权树,结点下标从1开始到N。寻找树中找两个结点,求最长的异或路径。异或路径指的是指两个结点之间唯一路径上的所有边权的异或。【输入格式】第一行一个整数N,表示点数。接下来 n-1行,给出 u,v,w ,分别表示树上的 u 点和 v 点有连边,边的权值是 w。【输出格式】一行,一个整数表示答案。Sample  InputSample~~...

2019-08-06 23:33:36 134

原创 [POJ3522]最小差值生成树——[LCT]

【题目描述】给定一个标号为从 1 到 n的、有 m 条边的无向图,求边权最大值与最小值的差值最小的生成树。【输入格式】第一行两个数 n,m,表示图的点和边的数量。第二行起 m 行,每行形如 ui, vi, wi,代表 ui到 vi 间有一条长为 wi 的无向边。【输出格式】输出一行一个整数,代表你的答案。数据保证存在至少一棵生成树。Sample  InputSa...

2019-08-02 22:43:44 444

空空如也

空空如也

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

TA关注的人

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