
洛谷(若BZOJ和洛谷均有的题算BZOJ)
文章平均质量分 72
stevensonson
这个作者很懒,什么都没留下…
展开
-
奶牛抗议——DP之线段树优化
这题我写过一篇60分的做法,所以题面就不写了。DP方程十分易见:for(register int i=1;i<=n;i++) for(register int j=0;j<=i-1;j++){ if(sum[i]<sum[j]) continue; dp[i]+=dp[j]%1000000009; }相当...原创 2018-03-13 10:03:28 · 504 阅读 · 0 评论 -
Luogu3119[USACO15JAN]Grass Cownoisseur——Tarjan+图论建模
【题目描述】 约翰有n块草场,编号1到n,这些草场由若干条单行道相连。奶牛贝西是美味牧草的鉴赏家,她想到达尽可能多的草场去品尝牧草。贝西总是从1号草场出发,最后回到1号草场。她想经过尽可能多的草场,贝西在通一个草场只吃一次草,所以一个草场可以经过多次。因为草场是单行道连接,这给贝西的品鉴工作带来了很大的不便,贝西想偷偷逆向行走一次,但最多只能有一次逆行。问,贝西最多能吃到多少个草场的牧草。 ...原创 2018-05-07 18:14:04 · 283 阅读 · 2 评论 -
LCT入门笔记
LCT是动态树的一种,通过维护实链和虚链来维护所有路径之间的关系(类似于树链剖分)。这样做的目的是为了减少某些链上的修改、查询等操作的复杂度。虽然LCT常数巨大。学LCT的大部分都会树剖吧?我们都知道树剖维护子树最大的儿子并形成一条重链,由于树剖是静态的,所以可以用线段树来维护。而由于LCT需要维护动态的边,要加边删边。所以需要用更灵活的数据结构来维护,也就是splay(也可以用非旋Treap...原创 2018-05-16 21:07:36 · 2625 阅读 · 2 评论 -
Luogu1357——矩乘优化递推
题目描述小L有一座环形花园,沿花园的顺时针方向,他把各个花圃编号为1~N(2&lt;=N&lt;=10^15)。他的环形花园每天都会换一个新花样,但他的花园都不外乎一个规则,任意相邻M(2&lt;=M&lt;=5,M&lt;=N)个花圃中有不超过K(1&lt;=K&lt; M)个C形的花圃,其余花圃均为P形的花圃。 例如,N=10,M=5,K=3。则 CCPCPPPPCC 是一种不符合规则原创 2018-06-08 21:15:38 · 318 阅读 · 0 评论 -
LuoguP2257YY的GCD——莫比乌斯反演
//八中上的权限题,只能上洛谷拷了题目描述神犇YY虐完数论后给傻×kAc出了一题给定N, M,求1<=x<=N, 1<=y<=M且gcd(x, y)为质数的(x, y)有多少对kAc这种傻×必然不会了,于是向你来请教……多组输入输入输出格式输入格式: 第一行一个整数T 表述数据组数接下来T行,每行两个正整数,表示N, M输出格式: T...原创 2018-08-07 21:11:43 · 431 阅读 · 0 评论 -
左偏树学习
左偏树,是可并堆的一种。 顾名思义,左偏树是向左边偏一点。但也不全是(这个后面会解释)。我们先介绍一些概念及左偏树的几个性质。外节点:当一个的左儿子或右儿子为空时,这个节点就是外节点。举个例子,一条链上的所有点都是外节点。距离:一个点的距离,定义为它子树中离他最近的外节点到这个节点的距离(这与树的深度不同) 所以外节点的距离为0。下面有一张距离图,方便理解(摘自百度,蓝色的是距...原创 2018-08-13 18:41:11 · 176 阅读 · 0 评论 -
后缀自动机学习笔记
后缀自动机感觉比回文自动机和AC自动机难理解很多,我花了一个下午加一个晚上感觉还没有完全理解。 蒟蒻还是太菜了,但是我还是要写这篇博客,也希望能加深我的理解。1.什么是后缀自动机hihocoder的出题人很有良心,在一道题目里详解了什么是后缀自动机。想看的点这里。我也搬过来讲讲。首先我们先把后缀自动机的图放出来,对于字符串S=”aabbabd”,它的后缀自动机是:(搬自hihoc...原创 2018-08-16 21:20:02 · 299 阅读 · 0 评论 -
LuoguP3092 No Change——状压DP
题目描述Farmer John is at the market to purchase supplies for his farm. He has in his pocket K coins (1 &lt;= K &lt;= 16), each with value in the range 1..100,000,000. FJ would like to make a sequence o...原创 2018-08-20 09:04:14 · 189 阅读 · 0 评论 -
CEOI2017Chase追逐——树形DP
LOJ题目传送门题目描述在逃亡者的面前有一个迷宫,这个迷宫由 n个房间和 n−1 条双向走廊构成,每条走廊会链接不同的两个房间,所有的房间都可以通过走廊互相到达。换句话说,这是一棵树。逃亡者会选择一个房间进入迷宫,走过若干条走廊并走出迷宫,但他永远不会走重复的走廊。在第 i个房间里,有 Fi个铁球,每当一个人经过这个房间时,他就会受到铁球的阻挡。逃亡者手里有 V 个磁铁,当他到达一...原创 2018-08-20 09:42:02 · 818 阅读 · 0 评论 -
LUOGU4360[CEOI2004]锯木厂选址——斜率优化dp
题目描述从山顶上到山底下沿着一条直线种植了 nn 棵老树。当地的政府决定把他们砍下来。为了不浪费任何一棵木材,树被砍倒后要运送到锯木厂。木材只能朝山下运。山脚下有一个锯木厂。另外两个锯木厂将新修建在山路上。你必须决定在哪里修建这两个锯木厂,使得运输的费用总和最小。假定运输每公斤木材每米需要一分钱你的任务是编写一个程序,从输入文件中读入树的个数和他们的重量与位置,计算最小运输费用。输入格式:...原创 2018-05-12 11:05:35 · 426 阅读 · 0 评论 -
回文子串——Manacher马拉车算法
我们有些时候会遇到求最大回文字符串的问题。对于回文字符串,我们首先想到的就是N^2的暴力,对于每一个点都向左或者向右延伸。但这样做显然不是特别优秀。而今天介绍的马拉车算法的最大贡献就是将时间复杂度提升到了线性,这是非常了不起的。回文字符串有两种,一种长度为奇数,如aba。另一种长度为偶数,如abba。对于奇数,只要询问中间每一个点即可,而偶数不存在中间点,所以我们得创造一个中间点。我们将每...原创 2018-03-29 14:04:35 · 553 阅读 · 0 评论 -
luogu-3147(USACO16OPEN)
题目传送门这道题可以考虑用DP的思路,我们设f[i][j]为从第i个数字开始,合成数字j所需要的数字之后数字的位置。比如数据(1,2,2,3)中,f[2][4]=5,f[2][3]=4。则我们可以发现f[i][j]=f[f[i][j-1]][j-1]。所以我们用bool型DP进行判断即可。#include<bits/stdc++.h>using nam...原创 2018-01-28 11:01:22 · 320 阅读 · 0 评论 -
上白泽慧音(浅谈Tarjan——(2))
继续讲Tarjan算法,上次提到了一道题:题目描述在幻想乡,上白泽慧音是以知识渊博闻名的老师。春雪异变导致人间之里的很多道路都被大雪堵塞,使有的学生不能顺利地到达慧音所在的村庄。因此慧音决定换一个能够聚集最多人数的村庄作为新的教学地点。人间之里由N个村庄(编号为1..N)和M条道路组成,道路分为两种一种为单向通行的,一种为双向通行的,分别用1和2来标记。如果存在由村庄A到达村庄B的通路,那...原创 2017-10-27 13:54:38 · 340 阅读 · 0 评论 -
新的开始( [USACO08OCT]打井Watering Hole)
新的开始 (newstart.pas/c/cpp) 【 题目描述】 话说小 FF 在经历了上次“寻找古代王族遗产” 的探险后, 成为了世界上最伟大的探险 家并拥有了一大笔财富。 当然他不能坐吃山空, 必须创造财富!! 于是他买下了传说中的 GreedIsland 并优先发展那里的采矿业„„他还将其称为 GreedIsland 的“ NewBe_One” 计划。 发展采矿业当然首先得有矿...原创 2017-09-26 11:49:26 · 672 阅读 · 0 评论 -
没有上司的舞会
题目描述某大学有N个职员,编号为1~N。他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数Ri,但是呢,如果某个职员的上司来参加舞会了,那么这个职员就无论如何也不肯来参加舞会了。所以,请你编程计算,邀请哪些职员可以使快乐指数最大,求最大的快乐指数。输入输出格式输入格式: 第一行一个整...原创 2017-09-26 08:49:43 · 743 阅读 · 0 评论 -
发射站
题目描述某地有 N 个能量发射站排成一行,每个发射站 i 都有不相同的高度 Hi,并能向两边(当 然两端的只能向一边)同时发射能量值为 Vi 的能量,并且发出的能量只被两边最近的且比 它高的发射站接收。显然,每个发射站发来的能量有可能被 0 或 1 或 2 个其他发射站所接受,特别是为了安 全,每个发射站接收到的能量总和是我们很关心的问题。由于数据很多,现只需要你帮忙计 算出接收最多能量的...原创 2017-07-03 19:20:48 · 427 阅读 · 0 评论 -
食物链(转自yekehe2002大神)
食物链(eat.pas/c/cpp)【 问题描述】动物王国中有三类动物 A,B,C, 这三类动物的食物链构成了有趣的环形。 A 吃 B, B 吃C, C 吃 A。现有 N 个动物, 以 1-N 编号。 每个动物都是 A,B,C 中的一种, 但是我们并不知道它到底是哪一种。有人用两种说法对这 N 个动物所构成的食物链关系进行描述:第一种说法是“ 1 X Y” , 表示 X 和 Y...转载 2017-06-22 20:03:05 · 320 阅读 · 0 评论 -
树链剖分入门
树链剖分就是将树分割成多条链,然后利用数据结构(线段树、树状数组等)来维护这些链。首先就是一些必须知道的概念:重节点:子树结点数目最多的结点; 轻节点:父亲节点中除了重结点以外的结点; 重边:父亲结点和重结点连成的边; 轻边:父亲节点和轻节点连成的边; 重链:由多条重边连接而成的路径; 轻链:由多条轻边连接而成的路径;我们通过维护这些树链,就可以完成对树的区间处理。 我们先...原创 2018-03-18 20:51:35 · 264 阅读 · 0 评论 -
初识AC自动机
概况AC自动机,全名Aho-Corasick自动机。是一种字符串匹配算法。在学AC自动机之前,必须知道字典树Trie和字符串匹配算法KMP。KMP算法我写过一篇博客,可以点击这里学习,而对于Trie算法,大家可以去网上搜索。接下去讲AC自动机的时候就默认会Trie和KMP了。AC自动机原理我们都知道KMP算法可以高效地将模式串与文本串匹配。但是如果我们有许多模式串需要进行匹配时...原创 2018-04-11 16:21:54 · 409 阅读 · 1 评论 -
LUOGU1083借教室——二分+差分
题目描述在大学期间,经常需要租借教室。大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室。教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样。面对海量租借教室的信息,我们自然希望编程解决这个问题。我们需要处理接下来nnn天的借教室信息,其中第iii天学校有rir_iri个教室可供租借。共有mmm份订单,每份订单用三个正整数描述,分别为dj,sj,tj,表示某租借者需要...原创 2018-10-26 16:55:01 · 202 阅读 · 0 评论