
初学
一生一水
这个作者很懒,什么都没留下…
展开
-
[USACO06NOV]路障Roadblocks
洛谷:P2865WOJ:2240描述贝西所在的牧场一共有 N 个地点。 M 条双向通行的道路连接这些地点,其中第 i 条道路连接 Ai 和 Bi,长度为 Li。贝西想从第一个地点走到第 N 个地点,由于路上风景不错,她决定不走最短 路径,而选择次短路径。次短路径的长度严格大于最短路径。如果有两条路径的长度都是最短的,那 么它们都不算次短路径。次短路径允许重复通过一些道路或地点。请你帮助贝西找...原创 2019-07-26 11:22:00 · 209 阅读 · 0 评论 -
1304: [CQOI2009]叶子的染色
1304: [CQOI2009]叶子的染色原博主博客Time Limit: 10 Sec Memory Limit: 162 MBDescription给一棵m个结点的无根树,你可以选择一个度数大于1的结点作为根,然后给一些结点(根、内部结点和叶子均可)着以黑色或白色。你的着色方案应该保证根结点到每个叶子的简单路径上都至少包含一个有色结点(哪怕是这个叶子本身)。 对于每个叶结点u,定义c...转载 2019-07-31 11:20:21 · 196 阅读 · 0 评论 -
#2334 树的直径(树形DP)
原博主博客(还有广搜的写法)描述树的直径,即这棵树中距离最远的两个结点的距离。每两个相邻的结点的距离为1,即父亲结点与儿子结点或儿子结点与父子结点之间的距离为1.有趣的是,从树的任意一个结点a出发,走到距离最远的结点b,再从结点b出发,能够走的最远距离,就是树的直径。树中相邻两个结点的距离为1。你的任务是:给定一棵树,求这棵树中距离最远的两个结点的距离。输入输入共n行 第一行是一个正整数n...转载 2019-07-31 14:40:23 · 190 阅读 · 0 评论 -
安装服务器
#include<bits/stdc++.h>using namespace std;const int N=1e5+5;struct fjy{ int x,y,z;}e[N];int read(){ int s=0,f=1; char ch=getchar(); while(!isdigit(ch)){ if(ch=='-') f=-f; ch=getcha...原创 2019-08-05 11:13:17 · 232 阅读 · 0 评论 -
图 求单源最短路径 dijsktra思想
思想:(1)初始时,S只包含源点,即S={v},v的距离为0。U包含除v外的其他顶点,U中顶点u距离为边上的权(若v与u有边&lt;v,u&gt;)或∞(若u不是v的出边邻接点)。(2)从U中选取一个距离v最小的顶点k,把k加入S中(该选定的距离就是v到k的最短路径长度)。(3)以k为新考虑的中间点,修改T中各顶点的距离:若从源点v到顶点u(u∈T)的距离(经过顶点k)比原来距离(不经过顶点...转载 2019-07-27 10:04:13 · 138 阅读 · 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 · 155 阅读 · 0 评论 -
洛谷1122最大子树和
作者:dcx2001来源:优快云原文:https://blog.youkuaiyun.com/dcx2001/article/details/78269908 (树形dp相关题及解析)题目描述小明对数学饱有兴趣,并且是个勤奋好学的学生,总是在课后留在教室向老师请教一些问题。一天他早晨骑车去上课,路上见到一个老伯正在修剪花花草草,顿时想到了一个有关修剪花卉的问题。于是当日课后,小明就向老师提出了这个问...转载 2019-07-27 14:57:52 · 166 阅读 · 0 评论 -
模拟退火
骗分神码,只不过还是要看RP,脸黑的我怕是要哭死在大街上了描述gtygtygty又虐了一场比赛,被虐的蒟蒻们决定吊打gtygtygty。gtygtygty见大势不好机智的分出了nnn个分身,但还是被人多势众的蒟蒻抓住了。蒟蒻们将 nnn个gtygtygty吊在nnn根绳子上,每根绳子穿过天台的一个洞。这nnn根绳子有一个公共的绳结xxx。吊好gtygtygty后蒟蒻们发现由于每个gtygtyg...原创 2019-08-05 16:31:00 · 161 阅读 · 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 · 243 阅读 · 0 评论 -
SCOI2008 奖励关
原博主wcr大佬博客原题传送门描述你正在玩你最喜欢的电子游戏, 并且刚刚进入一个奖励关。 在这个奖励关里,系统将依次随机抛出 k 次宝物,每次你都可以选择吃或者不吃(必须在抛出下一个宝物之前做出选择,且现在决定不吃的宝物以后也不能再吃) 。宝物一共有 n 种,系统每次抛出这 n 种宝物的概率都相同且相互独立。也就是说,即使前 k-1 次系统都抛出宝物 1(这种情况是有可能出现的,尽管概率非...转载 2019-08-01 19:25:10 · 151 阅读 · 0 评论 -
P4550 收集邮票
传送门描述有nnn种不同的邮票,皮皮想收集所有种类的邮票。唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且 买到的邮票究竟是n种邮票中的哪一种是等概率的,概率均为1/n1/n1/n。但是由于凡凡也很喜欢邮票,所以皮皮购买第kkk 张邮票需要支付kkk元钱。现在皮皮手中没有邮票,皮皮想知道自己得到所有种类的邮票需要花费的钱数目的期望.输入一行,一个数字NNN,N<=10...原创 2019-08-01 21:24:35 · 295 阅读 · 0 评论 -
概率充电器(shoi2014)
描述文:https://blog.youkuaiyun.com/zxyoi_dreamer/article/details/82882978著名的电子产品品牌 SHOI 刚刚发布了引领世界潮流的下一代电子产品——概率充电器:“采用全新纳米级加工技术,实现元件与导线能否通电完全由真随机数决定! SHOI 概率充电器,您生活不可或缺的必需品!能充上电吗?现在就试试看 吧!”SHOI 概率充电器由 n-1 条导...原创 2019-08-02 11:23:02 · 319 阅读 · 0 评论 -
友好的序列
描述在信息竞赛班的一次欢乐活动中,为了增强友谊,同学们站成了一列,编号从111到nnn。每个人手上都有一个球,球上有一个数字。游戏规定对于任意两个人(i,j)(i,j)(i,j),他们的友好度为(i−j)2+g(i,j)2(i−j)^2+g(i,j)^2(i−j)2+g(i,j)2其中g(i,j)=∑jk=i+1akg(i,j)=∑jk=i+1akg(i,j)=∑jk=i+1ak.请你帮助老师...原创 2019-08-06 20:58:24 · 253 阅读 · 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 · 443 阅读 · 0 评论 -
#4631 疯狂的火神
描述火神为了检验 zone 的力量,他决定单挑 nnn 个人。由于火神训练时间有限,最多只有 ttt 分钟,所以他可以选择一部分人来单挑, 由于有小 y 的帮助,他得到了每个人特定的价值,每个人的价值由一个三元组 (a,b,c)(a,b,c)(a,b,c)组成,表示如果火神在第 x 分钟单挑这个人,他就会得到 a−b∗xa-b*xa−b∗x 的经验值, 并且他需要 ccc 分钟来打倒这个人。...原创 2019-08-02 20:41:54 · 395 阅读 · 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 · 105 阅读 · 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 · 131 阅读 · 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 · 311 阅读 · 0 评论 -
欧拉回路
【题目描述】原题来自:UOJ #117有一天一位灵魂画师画了一张图,现在要你找出欧拉回路,即在图中找一个环使得每条边都在环上出现恰好一次。一共两个子任务:这张图是无向图。(50 分)这张图是有向图。(50 分)【输入】第一行一个整数 t,表示子任务编号。t∈{1,2},如果 t=1 则表示处理无向图的情况,如果 t=2 则表示处理有向图的情况。第二行两个整数 n,m,表示图的结点数...转载 2019-04-24 17:26:25 · 326 阅读 · 0 评论 -
学分块(二分)
LGTB 学分块LGTB 最近在学分块,但是他太菜了,分的块数量太多他就混乱了,所以只能分成3 块今天他得到了一个数组,他突然也想把它分块,他想知道,把这个数组分成3 块,块可以为空。假设3 块各自的和中的最大值最小请输出分完之后3 块中的最大值输入输入第一行包含一个整数n 代表数组大小接下来n 个整数a1, a2, …, an,代表数组对于40% 的数据,1 n 10对...转载 2019-05-26 14:56:20 · 160 阅读 · 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 · 592 阅读 · 0 评论 -
图 SPFA算法
使用题型该算法依旧是求单源最短路的算法,之前学了ford算法由于每次循环都是按照最坏结果,即每次循环只有一条边被确定并在后续操作中无需更改(该算法是保证每一次循环至少有一条边被确定)故需要循环n*m次其中有些循环是浪费了的,故有后人简化了该算法,这就是SPFA的来历思想d[i]指从起点到i点的最短路径,e[i].w指第i条边的权值,基于ford算法上,用队列来存储需要处理的点,每一次弹出队列...原创 2018-12-30 09:15:30 · 544 阅读 · 0 评论 -
P3796 【模板】AC自动机(加强版)
概论:AC自动机是KMP算法(思想)与trie树(形式)的结合。KMP运用于单模匹配,失败后,将已完成匹配节点的后缀与模板串前缀匹配,然后将模板串前缀移至匹配失败的地方继续下一轮匹配。而AC自动机则是多模匹配,给出多个模板串,可看作是一个字符串的集合,用trie树来作为字符串的集合,再在trie树上构建KMP失配函数,方法则是构建trie树(将所有模板链构建成一个字典树)构建fail指针...原创 2019-07-15 10:30:06 · 243 阅读 · 0 评论 -
P2444 [POI2000]病毒
描述二进制病毒审查委员会最近发现了如下的规律:某些确定的二进制串是病毒的代码。如果某段代码中不存在任何一段病毒代码,那么我们就称这段代码是安全的。现在委员会已经找出了所有的病毒代码段,试问,是否存在一个无限长的安全的二进制代码。 示例:例如如果{011, 11, 00000}为病毒代码段,那么一个可能的无限长安全代码就是010101…。如果{01, 11, 000000}为病毒代码段,那么就不...原创 2019-07-15 16:58:22 · 196 阅读 · 0 评论 -
「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 · 362 阅读 · 0 评论 -
邻面合并(代码解读+照猫画虎)
描述【题目背景】NEWorld作为一个3D游戏,对渲染(图形绘制)的效率要求极高。当玩家扩大视野范围时,可见的方块面数量将会迅速增多,以至于大量的顶点处理很快就成为了图形管线中的瓶颈。乔猫想了想,决定在大量绘制前,预处理一些相邻且有着相同材质的方块面——将许多小的面合成一个大的面,便可以在不改变渲染结果的同时减少很多顶点数量了吧……【问题描述】给定一个N∗MN∗ MN∗M的网格,每个格子上...转载 2019-08-07 15:29:00 · 295 阅读 · 0 评论