借鉴
一生一水
这个作者很懒,什么都没留下…
展开
-
「HAOI2015」树上操作
描述有一棵点数为 N 的树,以点 1 为根,且树点有边权。然后有 M 个操作,分为三种:1:把某个节点 x 的点权增加 a 。2:把某个节点 x 为根的子树中所有点的点权都增加 a 。3:询问某个节点 x 到根的路径中所有点的点权和。输入第一行包含两个整数 N,M。表示点数和操作数。接下来一行 N 个整数,表示树中节点的初始权值。接下来 N−1 行每行两个正整数 fr,to , 表...转载 2019-07-24 14:55:12 · 344 阅读 · 0 评论 -
【差分约束系统】 layout奶牛的站位
原作者博客描述有 N 头奶牛正在排队,它们的编号为 1 到 N,约翰要给它们安排合适的排队位置,满足以下条 件:• 首先,所有奶牛要站在一条直线上。由于是排队,所以编号小的奶牛要靠前,不能让编号大的 奶牛插队。但同一个位置可以容纳多头奶牛,这是因为它们非常苗条的缘故• 奶牛喜欢和朋友靠得近点。朋友关系有 F 对,其中第 Ai 头奶牛和第 Bi 头奶牛是第 i 对朋友, 它们的距离不能超过 ...转载 2019-07-29 15:29:55 · 209 阅读 · 0 评论 -
签到题(8.2考试)
描述给定一棵有根树(根节点为 111),每个点都带有权值,对于点uuu,其权值设为 a[u]a[u]a[u],其父亲为 fa[i]fa[i]fa[i]。现有两个函数 f1,f2f1,f2f1,f2,定义如下:如果 u=1u=1u=1,f1[u]=a[u],f2[u]=1f1[u]=a[u],f2[u]=1f1[u]=a[u],f2[u]=1否则如果f1[fa[u]]+1<a[...原创 2019-08-03 15:17:53 · 419 阅读 · 0 评论 -
1304: [CQOI2009]叶子的染色
1304: [CQOI2009]叶子的染色原博主博客Time Limit: 10 Sec Memory Limit: 162 MBDescription给一棵m个结点的无根树,你可以选择一个度数大于1的结点作为根,然后给一些结点(根、内部结点和叶子均可)着以黑色或白色。你的着色方案应该保证根结点到每个叶子的简单路径上都至少包含一个有色结点(哪怕是这个叶子本身)。 对于每个叶结点u,定义c...转载 2019-07-31 11:20:21 · 179 阅读 · 0 评论 -
#2334 树的直径(树形DP)
原博主博客(还有广搜的写法)描述树的直径,即这棵树中距离最远的两个结点的距离。每两个相邻的结点的距离为1,即父亲结点与儿子结点或儿子结点与父子结点之间的距离为1.有趣的是,从树的任意一个结点a出发,走到距离最远的结点b,再从结点b出发,能够走的最远距离,就是树的直径。树中相邻两个结点的距离为1。你的任务是:给定一棵树,求这棵树中距离最远的两个结点的距离。输入输入共n行 第一行是一个正整数n...转载 2019-07-31 14:40:23 · 174 阅读 · 0 评论 -
图 弗洛伊德算法 最短路径
思想:思想基础:i点到j点通过中转点指定通过k个中转点,每次指定通过点k中转#include<cstdio>//图求最短路径(邻接矩阵读入) #include<iostream>#include<cstring>#include<algorithm>#define M 2000000using namespace std;int a...原创 2019-07-27 10:04:52 · 142 阅读 · 0 评论 -
洛谷1122最大子树和
作者:dcx2001来源:CSDN原文:https://blog.csdn.net/dcx2001/article/details/78269908 (树形dp相关题及解析)题目描述小明对数学饱有兴趣,并且是个勤奋好学的学生,总是在课后留在教室向老师请教一些问题。一天他早晨骑车去上课,路上见到一个老伯正在修剪花花草草,顿时想到了一个有关修剪花卉的问题。于是当日课后,小明就向老师提出了这个问...转载 2019-07-27 14:57:52 · 157 阅读 · 0 评论 -
#3629 island(基环树)
#include<bits/stdc++.h>using namespace std;#define N 2000100#define M 4000010#define ll long long#define in rad()#define inf 0x3f3f3f3finline int rad(){ int x=0,f=1;char c=getchar(); wh...原创 2019-08-01 15:06:17 · 227 阅读 · 0 评论 -
SCOI2008 奖励关
原博主wcr大佬博客原题传送门描述你正在玩你最喜欢的电子游戏, 并且刚刚进入一个奖励关。 在这个奖励关里,系统将依次随机抛出 k 次宝物,每次你都可以选择吃或者不吃(必须在抛出下一个宝物之前做出选择,且现在决定不吃的宝物以后也不能再吃) 。宝物一共有 n 种,系统每次抛出这 n 种宝物的概率都相同且相互独立。也就是说,即使前 k-1 次系统都抛出宝物 1(这种情况是有可能出现的,尽管概率非...转载 2019-08-01 19:25:10 · 132 阅读 · 0 评论 -
P4550 收集邮票
传送门描述有nnn种不同的邮票,皮皮想收集所有种类的邮票。唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且 买到的邮票究竟是n种邮票中的哪一种是等概率的,概率均为1/n1/n1/n。但是由于凡凡也很喜欢邮票,所以皮皮购买第kkk 张邮票需要支付kkk元钱。现在皮皮手中没有邮票,皮皮想知道自己得到所有种类的邮票需要花费的钱数目的期望.输入一行,一个数字NNN,N<=10...原创 2019-08-01 21:24:35 · 265 阅读 · 0 评论 -
概率充电器(shoi2014)
描述文:https://blog.csdn.net/zxyoi_dreamer/article/details/82882978著名的电子产品品牌 SHOI 刚刚发布了引领世界潮流的下一代电子产品——概率充电器:“采用全新纳米级加工技术,实现元件与导线能否通电完全由真随机数决定! SHOI 概率充电器,您生活不可或缺的必需品!能充上电吗?现在就试试看 吧!”SHOI 概率充电器由 n-1 条导...原创 2019-08-02 11:23:02 · 295 阅读 · 0 评论 -
TJOI2013单词
链接:https://www.luogu.org/problemnew/show/P3966描述某人读论文,一篇论文是由许多单词组成。但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文中出现多少次。输入第一个一个整数 N ,表示有多少个单词,接下来 N 行每行一个单词。输出输出 N 个整数,第 i 行的数字表示第 i 个单词在文章中出现了多少次。样例输入3aaa...转载 2019-07-17 11:10:02 · 190 阅读 · 0 评论 -
P2444 [POI2000]病毒
描述二进制病毒审查委员会最近发现了如下的规律:某些确定的二进制串是病毒的代码。如果某段代码中不存在任何一段病毒代码,那么我们就称这段代码是安全的。现在委员会已经找出了所有的病毒代码段,试问,是否存在一个无限长的安全的二进制代码。 示例:例如如果{011, 11, 00000}为病毒代码段,那么一个可能的无限长安全代码就是010101…。如果{01, 11, 000000}为病毒代码段,那么就不...原创 2019-07-15 16:58:22 · 173 阅读 · 0 评论 -
P3796 【模板】AC自动机(加强版)
概论:AC自动机是KMP算法(思想)与trie树(形式)的结合。KMP运用于单模匹配,失败后,将已完成匹配节点的后缀与模板串前缀匹配,然后将模板串前缀移至匹配失败的地方继续下一轮匹配。而AC自动机则是多模匹配,给出多个模板串,可看作是一个字符串的集合,用trie树来作为字符串的集合,再在trie树上构建KMP失配函数,方法则是构建trie树(将所有模板链构建成一个字典树)构建fail指针...原创 2019-07-15 10:30:06 · 232 阅读 · 0 评论 -
强连通分量
#include<cstdio>#include<cstring>using namespace std;const int N=1e4+5;const int M=5e4+5;int i,j,k=0,n,m,num=0,col=0;struct node{ int v,next;}e[M];int first[N],chu[N]={0},dfn[N]={0}...转载 2019-04-07 15:29:08 · 97 阅读 · 0 评论 -
poj3177(Redundant Path)
#include<cstdio>#include<cstring>#include<queue>using namespace std;const int N=5005;const int M=10005;int first[N],dfn[N]={0},low[N],co[N],col=0,num=0;struct node{ int v,nex...转载 2019-04-12 20:03:23 · 193 阅读 · 0 评论 -
【SCOI 2011】糖果
#include<iostream>#include<stdio>#include<algorithm>#include<cmath>using namespace std;const int N=100005;struct nmmp{ int u,v,next,w}d[N];int first[N],k;/////////////...转载 2019-04-17 16:07:08 · 117 阅读 · 0 评论 -
打鼹鼠_二维树状数组
链接:http://ybt.ssoier.cn:8088/problem_show.php?pid=1540【题目描述】这是一道模板题。给出一个 n×m 的零矩阵 A,你需要完成如下操作:1 x y k:表示元素 Ax,y自增 k;2 a b c d:表示询问左上角为 (a,b),右下角为 (c,d) 的子矩阵内所有数的和。【输入】输入的第一行有两个正整数 n,m;接下来...转载 2019-04-26 19:22:16 · 464 阅读 · 0 评论 -
最敏捷的机器人
链接:http://ybt.ssoier.cn:8088/problem_show.php?pid=1542【题目描述】Wind 设计了很多机器人。但是它们都认为自己是最强的,于是,一场比赛开始了……机器人们都想知道谁是最敏捷的,于是它们进行了如下一个比赛。首先,他们面前会有一排 共 n 个数,它们比赛看谁能最先把每连续 k 个数中最大和最小值写下来,当然,这些机器人运算速度都很快,它们...转载 2019-04-26 20:17:14 · 261 阅读 · 0 评论 -
线段树(模板题)
链接:http://ybt.ssoier.cn:8088/problem_show.php?pid=1547【题目描述】给定一数列,规定有两种操作,一是修改某个元素,二是求区间的连续和。【输入】输入数据第一行包含两个正整数n,m(n≤100000,m≤500000),以下是m行,每行有三个正整数k,a,b(k=0或1,a,b≤n).k=0时表示将a处数字加上b,k=1时表示询问 区间...转载 2019-05-04 09:44:23 · 286 阅读 · 0 评论 -
欧拉回路
【题目描述】原题来自:UOJ #117有一天一位灵魂画师画了一张图,现在要你找出欧拉回路,即在图中找一个环使得每条边都在环上出现恰好一次。一共两个子任务:这张图是无向图。(50 分)这张图是有向图。(50 分)【输入】第一行一个整数 t,表示子任务编号。t∈{1,2},如果 t=1 则表示处理无向图的情况,如果 t=2 则表示处理有向图的情况。第二行两个整数 n,m,表示图的结点数...转载 2019-04-24 17:26:25 · 306 阅读 · 0 评论 -
学分块(二分)
LGTB 学分块LGTB 最近在学分块,但是他太菜了,分的块数量太多他就混乱了,所以只能分成3 块今天他得到了一个数组,他突然也想把它分块,他想知道,把这个数组分成3 块,块可以为空。假设3 块各自的和中的最大值最小请输出分完之后3 块中的最大值输入输入第一行包含一个整数n 代表数组大小接下来n 个整数a1, a2, …, an,代表数组对于40% 的数据,1 n 10对...转载 2019-05-26 14:56:20 · 151 阅读 · 0 评论 -
树链剖分(线段树的应用)
【题目描述】原题来自:ZJOI 2008一树上有 n 个节点,编号分别为 1 到 n,每个节点都有一个权值 w。我们将以下面的形式来要求你对这棵树完成一些操作:1.CHANGE u t :把节点 u 权值改为 t;2.QMAX u v :询问点 u 到点 v 路径上的节点的最大权值;3.QSUM u v :询问点 u 到点 v 路径上的节点的权值和。注意:从点 u 到点 v 路径上的节...转载 2019-05-22 17:01:57 · 566 阅读 · 0 评论 -
邻面合并(代码解读+照猫画虎)
描述【题目背景】NEWorld作为一个3D游戏,对渲染(图形绘制)的效率要求极高。当玩家扩大视野范围时,可见的方块面数量将会迅速增多,以至于大量的顶点处理很快就成为了图形管线中的瓶颈。乔猫想了想,决定在大量绘制前,预处理一些相邻且有着相同材质的方块面——将许多小的面合成一个大的面,便可以在不改变渲染结果的同时减少很多顶点数量了吧……【问题描述】给定一个N∗MN∗ MN∗M的网格,每个格子上...转载 2019-08-07 15:29:00 · 267 阅读 · 0 评论