E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
SDOI2011
【BZOJ2246】[
SDOI2011
]迷宫探险【搜索】【概率DP】
【BZOJ2246】最后一组数据没过,也不知道啥原因,打了发表(pia)大体思路是,先搜索出每个状态下每个陷阱有害的概率,然后就可以跑dp了。搜索时,每个陷阱有三种状态,0无害,1有害,2未遍历。那么用一个三进制来表示状态。搜索到一种状态now,然后再枚举状态转移。设wx[now][i]表示当前状态为now,陷阱i有害的概率。设ww[i][0/1](是个临时数组)表示当前状态下(即now),陷阱i
BraketBN
·
2016-04-03 09:00
搜索
概率DP
【BZOJ2243】[
SDOI2011
]染色【树链剖分】
【题目链接】很容易想到树剖,然后主要是线段树。sum记录一段区间内的颜色子段个数,lx和rx分别记录左端点和右端点的颜色是什么。然后就差不多了。注意树剖爬的时候也得注意节点颜色。/*Pigonometry*/ #include #include usingnamespacestd; constintmaxn=100005,maxm=maxn; intn,m,head[maxn],cnt,w[
BraketBN
·
2016-04-01 20:00
树链剖分
【bzoj2242】[
SDOI2011
]计算器 快速幂+BSGS
第一问,快速幂第二问,exgcd或p是质数,所以y一定有逆元x=y^(-1)*z其中y^(-1)=y^(P-2)因为0没有逆元,所以只有y=0时无解第三问,BSGS设x=bk+c其中k=sqrt(P),b和c都小于sqrt(P)Y^(bk+c)=ZY^(bk)=Z*Y^(-c)用map记录一下Z*Y^(-c),一共sqrt(P)个数枚举b,查询有没有对应的Z*Y^(-c),如果有,则更新答案0要特
u012288458
·
2016-03-28 10:00
BZOJ2286: [
Sdoi2011
]消耗战
虚树上DP我O(1)LCA但是关于树上的链最小值不知道怎么做。。。只能O(lgn)倍增了时间大的吓人建虚树的方法我是sort两边细节看代码一开始INF设小了WA到死都不知道#include #include #include #include #include usingnamespacestd; #definelllonglong lln,m; llans; inlinellmin(lla,l
liutian429073576
·
2016-03-20 19:00
[
SDOI2011
] [BZOJ2243] 染色 - 树链剖分
2243:[
SDOI2011
]染色TimeLimit: 20Sec MemoryLimit: 512MBSubmit: 5001 Solved: 1860[Submit][Status][Discuss
whzzt
·
2016-03-20 19:00
2286: [
Sdoi2011
消耗战|树形DP|虚树
可以每一次都进行一次树形DP,发现有很多点是没有用的,只需要找出一些关键点来进行树形DP就可以,这就用到了虚树。可以用一个栈来维护一条链构建虚树。PS:INF一定要够大!!!!又被SDOI的题坑掉了1H,今年SD省选药丸的节奏#include #include #include #include #include #include #include #include #include #inclu
ws_yzy
·
2016-03-17 16:00
树形DP
2245: [
SDOI2011
]工作安排|费用流
裸的费用流。。由于某SB错误RE+WA了一早晨。。。给小号挂了一板真是舒爽源点每个人连Si+1条边,人向能加工的产品连边,产品向汇点连边#include #include #include #include #include #include #include #include #include #include #definelllonglong #defineN2500009 #definei
ws_yzy
·
2016-03-17 08:00
费用流
Bzoj 2241: [
SDOI2011
]打地鼠 暴力,枚举,贪心
2241:[
SDOI2011
]打地鼠TimeLimit: 10Sec MemoryLimit: 512MBSubmit: 1022 Solved: 651[Submit][Status][Discuss
微弱的世界
·
2016-03-15 18:00
bzoj 2244 [
SDOI2011
]拦截导弹(DP+CDQ分治+BIT)
【题目链接】 http://www.lydsy.com/JudgeOnline/problem.php?id=2244 【题意】 给定n个二元组,求出最长不上升子序列和各颗导弹被拦截的概率。 【思路】 DP+CDQ分治+BIT 先把序列反转一下,lis求起来方便。 对于第一问,我们要求的是 f[i]=max{f[j]},j 2#include 3#inc
hahalidaxin
·
2016-03-10 16:00
【BZOJ2243】【
SDOI2011
】染色(树链剖分+线段树)
题目描述传送门题解树链剖分一样就能看出来,更重要的是线段树的处理。p数组与sum同步,.l/.r分别表示这个区间左端点和右端点的颜色。然后各种乱搞。查询的时候,在链与链之间,如果颜色一样的话,则需要使当前答案-1。一节微机课没搞出来,回去之后数学课想了一想,晚上终于调出来了。提交的时候行数200+,删去注释之后只有170+了。。。代码#include#include#includeusingnam
Clove_unique
·
2016-03-04 22:41
题解
线段树
树链剖分
【BZOJ2243】【
SDOI2011
】染色(树链剖分+线段树)
题目描述传送门题解树链剖分一样就能看出来,更重要的是线段树的处理。p数组与sum同步,.l/.r分别表示这个区间左端点和右端点的颜色。然后各种乱搞。查询的时候,在链与链之间,如果颜色一样的话,则需要使当前答案-1。一节微机课没搞出来,回去之后数学课想了一想,晚上终于调出来了。提交的时候行数200+,删去注释之后只有170+了。。。代码#include #include #include using
Clove_unique
·
2016-03-04 22:00
线段树
树链剖分
bzoj
SDOI
BZOJ 2243: [
SDOI2011
]染色 树链剖分+线段树区间合并
2243:[
SDOI2011
]染色Description 给定一棵有n个节点的无根树和m个操作,操作有2类:1、将节点a到节点b路径上所有点都染成颜色c;2、询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段
zxhl
·
2016-03-03 20:00
[BZOJ2242][
SDOI2011
]计算器(快速幂+扩欧+BSGS)
题目描述传送门题目描述有问题!y,z,p中只有p为质数!题目描述有问题!y,z,p中只有p为质数!题目描述有问题!y,z,p中只有p为质数!重要的事情说三遍!题解对于操作1:快速幂而已,不存在无解的情况。对于操作2:扩展欧几里得算法。有解的条件为:gcd(y,p)|z证明:已知xy≡z(modp)原式可化为:xy−ap=z问题可以转化为求是否有一组数x,a使xy−ap=z而如果把所有x,a的取值以
Clove_unique
·
2016-02-26 18:29
题解
省选
扩欧
BSGS
【BZOJ2242】【
SDOI2011
】计算器(快速幂+扩欧+BSGS)
题目描述传送门题目描述有问题!y,z,p中只有p为质数!题目描述有问题!y,z,p中只有p为质数!题目描述有问题!y,z,p中只有p为质数!重要的事情说三遍!题解对于操作1:快速幂而已,不存在无解的情况。对于操作2:扩展欧几里得算法。有解的条件为:gcd(y,p)|z证明:已知xy≡z(modp)原式可化为:xy−ap=z问题可以转化为求是否有一组数x,a使xy−ap=z而如果把所有x,a的取值以
Clove_unique
·
2016-02-26 18:00
快速幂
bzoj
BSGS
SDOI
扩欧
bzoj2286
sdoi2011
消耗战
我要去死,,,,虚树模板提,,真是够了我自己写的模板没错,,,第一次我是用的多次memset,所以T了,,,第二次,,学会了不用memset直接dp时清零结果有些节点没有覆盖所以有T了,,tm的分数还一样于是我就以为我的模板有问题就可劲差错可劲查错,是我dp写残了,,,我去死吧!!!知识点:1.虚树2.不要每次都用memset那一定会T,,而且注意细节,学会每次完成时顺便清零3.错误有可能就在你想
qq_20669971
·
2016-02-26 10:00
bzoj 2242 [
sdoi2011
]计算器
2242:[
SDOI2011
]计算器TimeLimit:10SecMemoryLimit:512MBSubmit:2337Solved:930[Submit][Status][Discuss]Description
clover_hxy
·
2016-02-24 19:00
bzoj2286[
Sdoi2011
消耗战
题目链接bzoj2286题目描述Description在一场战争中,战场由n个岛屿和n-1个桥梁组成,保证每两个岛屿间有且仅有一条路径可达。现在,我军已经侦查到敌军的总部在编号为1的岛屿,而且他们已经没有足够多的能源维系战斗,我军胜利在望。已知在其他k个岛屿上有丰富能源,为了防止敌军获取能源,我军的任务是炸毁一些桥梁,使得敌军不能到达任何能源丰富的岛屿。由于不同桥梁的材质和结构不同,所以炸毁不同的
zmh964685331
·
2016-02-23 20:00
【
SDOI2011
】【BZOJ2244】拦截导弹
Description某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度、并且能够拦截任意速度的导弹,但是以后每一发炮弹都不能高于前一发的高度,其拦截的导弹的飞行速度也不能大于前一发。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。在不能拦截所有的导弹的情况下,我们当然要选
CreationAugust
·
2016-02-23 10:00
分治
虚树练习集锦
构造虚树也是有个模板的[例题1][Bzoj2286][
Sdoi2011
]消耗战在一场
__Horizon__
·
2016-02-15 15:00
树--虚树
BZOJ 2282 & 树的直径
SDOI2011
的Dayx第2题题意:在树中找到一条权值和不超过S的链(为什么是链呢,因为题目中提到“使得路径的两端都是城市”,如果不是链那不就不止两端了吗——怎么这么机智的感觉...)
YCuangWhen
·
2016-02-13 17:00
[bzoj2286] [
Sdoi2011
消耗战
还是虚树恩。。模板都能打挂QAQ先在原树上预处理出mndis[i],表示根节点到节点i路径上边权的最小值(就是断开i与根的联系的最小花费)建完虚树在虚树上跑树形DP。。f[i]表示断开 i所在子树内所有有资源的节点 与根节点的联系的最小花费。若i节点没资源:f[i]=min(mndis[i],sigma(f[j])),(j是i的儿子,且j所在子树内有有资源的节点)。若i节点有资源:f[i]=mnd
czllgzmzl
·
2016-02-12 20:00
【BZOJ 2242】[
SDOI2011
]计算器
Description你被要求设计一个计算器完成以下三项任务:1、给定y,z,p,计算Y^ZModP的值;2、给定y,z,p,计算满足xy≡Z(modP)的最小非负整数;3、给定y,z,p,计算满足Y^x≡ Z(modP)的最小非负整数。Input 输入包含多组数据。第一行包含两个正整数T,K分别表示数据组数和询问类型(对于一个测试点内的所有数据,询问类型相同)。以下行每行包含三个正整数y,z,p
抬头仰望浮云飘过
·
2016-02-12 09:00
bzoj 2243 [
SDOI2011
]染色(树链剖分,线段树)
2243:[
SDOI2011
]染色TimeLimit:20Sec MemoryLimit:512MBSubmit:4637 Solved:1726[Submit][Status][Discuss]
hahalidaxin
·
2016-02-09 18:00
bzoj2282
sdoi2011
消防(1)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2282思路:自己yy出来的,,很明显,是有关树的直径问题,从单点(中心点)到一段路径,使距离最大值最小,平常应该想到的,有结论:树的直径都交于一点,即中心点,也就是直径的一半,而本题一定经过中心点,(思考)所以树形dp找出中心点,然后二分答案(明显具有二分性质),判断可行性,怎么判断呢?恩,很简
qq_20669971
·
2016-02-04 08:00
BZOJ 2245: [
SDOI2011
]工作安排( 费用流 )
费用流模板题..限制一下不同愤怒值的工作数就可以了。---------------------------------------------------------------------------------------------#include#include#include#include usingnamespacestd; typedeflonglongll; constintm
JSZX11556
·
2016-01-31 11:00
BZOJ2282: [
Sdoi2011
]消防
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2282答案一定是在直径上的一段,然后答案一定不会小于不在直径上的点到直径的距离(要是可以的话那当前这条直径就不是直径了)然后二分一遍,当前段的最长答案只可能在s->l,r->t取到,其他都是取不到的所以判断这两个就可以了。#include #include #include #includ
ctlchild
·
2016-01-26 14:00
bzoj2243【
SDOI2011
】染色
2243:[
SDOI2011
]染色TimeLimit:20SecMemoryLimit:512MBSubmit:4537Solved:1702[Submit][Status][Discuss]Description
AaronPolaris
·
2016-01-24 21:42
线段树
树链剖分
OIer的狂欢
bzoj2243【
SDOI2011
】染色
2243:[
SDOI2011
]染色TimeLimit: 20Sec MemoryLimit: 512MBSubmit: 4537 Solved: 1702[Submit][Status][Discuss
AaronGZK
·
2016-01-24 21:00
线段树
树链剖分
bzoj
【BZOJ2243】【
SDOI2011
】染色 (LCT)
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2243练了一发LCT,唔调了好久感觉是下传标记的问题可是不知道哪里错了。问了问老司机ljy,确实是出事了。。唔大概就是每一次flip的下传要注意一下两个儿子各自的lc和rc吧qwq 1#include 2#include 3#include 4#include 5#defineMaxN2
Lukaluka
·
2016-01-21 07:00
bzoj2243: [
SDOI2011
]染色
题目bzoj2243Description给定一棵有n个节点的无根树和m个操作,操作有2类: 1、将节点a到节点b路径上所有点都染成颜色c; 2、询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段), 如“112221”由3段组成:“11”、“222”和“1”。 请你写一个程序依次完成这m个操作。 Input第一行包含2个整数n和m,分别表示节点数和操作数; 第二行包含n个正整数表示
zmh964685331
·
2016-01-12 08:00
bzoj2243: [
SDOI2011
]染色
好吧本来看到就是一道裸地树剖嘛。。然后差错差了一个晚上。。发现时线段树下传标记的时候坑了连线段树都打不来了QAQ计算答案的时候需要注意一下其他什么都好说突然发现其实我的程序还是很好看的(误#include #include #include usingnamespacestd; charc; inlinevoidread(int&a) { a=0;do { c=getchar(); }while(
liutian429073576
·
2016-01-11 21:00
bzoj
2241: [
SDOI2011
]打地鼠 暴力
无脑暴力==#include usingnamespacestd; intn,m,sum,ans,a[105][105],b[105][105]; inlineintread() { inta=0,f=1;charc=getchar(); while(c'9'){if(c=='-')f=-1;c=getchar();} while(c>='0'&&c<='9'){a=a*10+c-'0';c=ge
Phenix_2015
·
2016-01-07 20:00
2286: [
Sdoi2011
消耗战
由于今天被数据结构虐了,所以果断来水一水虚树的题。这题每次树形DP一下大概是n*m的复杂度,妥妥的炸掉了。然而我们只考虑每次要处理的节点和他们的LCA们,于是就变成了sigma(k),即50W了。然后就是虚树的建法,感觉还是很有意思(不明所以)的。首先我们需要一个单调栈来维护一条从根节点延伸下来的链,然后我们有四个节点。1:当前点2:栈顶3:次栈顶4:lca(当前点,栈顶)考虑点4,有两种可能。1
nlj1999
·
2015-12-28 19:00
bzoj2286: [
Sdoi2011
消耗战
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2286思路:构建虚树,treeDP,设f[i]表示i的子树所有资源点断开所需代价,dis[i]表示=i到1的路径上的最小边权那么如果i是有资源的点,f[i]=dis[i]否则f[i]=min(Σf[son[i]],dis[i])虚树见上一篇博客:http://http://blog.csdn.
thy_asdf
·
2015-12-23 21:00
树形DP
虚树
【 bzoj 2286 】 : [
Sdoi2011
]消耗战 - 树形DP
这道题的思路感觉挺赞的……暴力的DP,f[i]表示切到i点的最小代价,显然有f[u]=min{vip[v]?inf:f[v],dis(u,v)}。这其中中间有很多dp都是不必要的,因为如果一条链D下来,那么两个关键点之间更新的权值都是相邻两点的距离,可以省略掉。然后就可以用一个应该是挺经典的做法:用单调栈维护一条链。这样思路就很明显了,先按dfs序排序,然后用单调栈维护一条当前DP的链,每当加入一
GEOTCBRL
·
2015-12-16 17:00
【BZOJ】2242: [
SDOI2011
]计算器
http://www.lydsy.com/JudgeOnline/problem.php?id=2242 题意:(前两个问略...)第三个问是,求$a^x \equiv b \pmod{p}$最小的$x$,或者输出无解,它们范围都是$10^9$哒= = #include <bits/stdc++.h> using namespace std; typedef long l
·
2015-11-13 11:11
计算器
【BZOJ】2286: [
Sdoi2011
消耗战
http://www.lydsy.com/JudgeOnline/problem.php?id=2286 题意:n个点的边加权树,m个询问,每次询问给出的k个点与结点1分离的最小代价。(n<=250000, sum{ki}<=500000) #include <bits/stdc++.h> using namespace std; typedef long lon
·
2015-11-13 08:57
ZOJ
【BZOJ2281】【博弈论+DP】 [
Sdoi2011
]黑白棋
Description 黑白棋( game ) 【问题描述】 小A和小B又想到了一个新的游戏。 这个游戏是在一个1*n的棋盘上进行的,棋盘上有k个棋子,一半是黑色,一半是白色。 最左边是白色棋子,最右边是黑色棋子,相邻的棋子颜色不同。 E 小A可以移动白色棋子,小B可以移动黑色的棋子,他们每次操作可以移动1到d个棋子。 每当移动某一个棋子时,这个棋子不能跨越两边的
·
2015-11-11 19:36
ZOJ
bzoj 2243:
SDOI2011
染色
最近总是在做树链剖分的题(觉得有必要学一下倍增算法=_=)。这题也是一个树链剖分。维护和找答案的时候注意区间左右端点的颜色就OK了…… 上代码: #include <cstdio> #include <cstring> #include <cstdlib> #include <algori
·
2015-11-09 13:17
ZOJ
BZOJ 2243: [
SDOI2011
]染色( 树链剖分 )
树链剖分...细节挺多的... --------------------------------------------------------------------------------- #include<cstdio> #include<cstring> #include<algorithm> #include<iostrea
·
2015-11-01 14:27
ZOJ
BZOJ2286 : [
Sdoi2011
]消耗战
对于每次询问,构造出虚树,相邻两点边权为该两点路径上边权的最小值 f[i]表示以i为根的子树与1不连通的最小代价,vip[i]表示i是不是关键点 f[i]=sum(vip[j]?w[j]:min(f[j],w[j])) #include<cstdio> #include<algorithm> #define N 250010 #define K
·
2015-10-31 11:50
ZOJ
2243: [
SDOI2011
]染色树链剖分
对于线段树的操作,维护左端值,维护右端值,维护种类数,更新的时候,如果左儿子的右端==右儿子的左端,种类数减一,剩下的就是细节了。 #include<iostream> #include<cstdio> #include<cstring> #include<map> #include<vector> #include<
·
2015-10-31 09:16
sd
BZOJ 2243: [
SDOI2011
]染色 树链剖分 倍增lca 线段树
2243: [
SDOI2011
]染色 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline
·
2015-10-23 09:22
线段树
【bzoj2241】
SDOI2011
打地鼠 暴力+剪枝
暴力加上几个剪枝就A了,首先要倒着枚举,次数超过答案的就不判了,然后要注意总数是锤子的倍数,每次打的时候从上向下打。#include #include #include #include #include #include #definemaxn110 #defineinf1000000000 usingnamespacestd; inta[maxn][maxn],b[maxn][maxn];
u012288458
·
2015-10-21 12:00
【bzoj2243】 [
SDOI2011
]染色 树链剖分+线段树
Description给定一棵有n个节点的无根树和m个操作,操作有2类:1、将节点a到节点b路径上所有点都染成颜色c;2、询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段),如“112221”由3段组成:“11”、“222”和“1”。请你写一个程序依次完成这m个操作。Input第一行包含2个整数n和m,分别表示节点数和操作数;第二行包含n个正整数表示n个节点的初始颜色下面行每行包含
DQSSS
·
2015-10-21 09:43
===图论===
线段树
===数据结构===
树链剖分
【bzoj2243】 [
SDOI2011
]染色 树链剖分+线段树
Description给定一棵有n个节点的无根树和m个操作,操作有2类:1、将节点a到节点b路径上所有点都染成颜色c;2、询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段),如“112221”由3段组成:“11”、“222”和“1”。请你写一个程序依次完成这m个操作。Input第一行包含2个整数n和m,分别表示节点数和操作数;第二行包含n个正整数表示n个节点的初始颜色下面行每行包含
LOI_DQS
·
2015-10-21 09:00
bzoj
【bzoj2243】 [
SDOI2011
]染色
感觉非常的奇怪。。。。以前rev的写法是inlinevoidrev(intu){if(u)std::swap(lc,rc),std::swap(lcol[u],rcol[u]),rv[lc]^=1,rv[rc]^=1,rv[u]=0;}就是说这个点的rv表示是否需要rev以前这么写都没问题。。。。。这次就爆炸了QAQ改成了这个点的rv表示是否已经rev过了这样inlinevoidrev(intu)
GEOTCBRL
·
2015-09-29 20:00
BZOJ 2242 [
SDOI2011
]计算器 BSGS+快速幂+EXGCD
题意:链接方法:BSGS+快速幂+EXGCD解析:BSGS…题解同上..代码:#include #include #include #include #include #defineMOD140345 usingnamespacestd; typedeflonglongll; llt,k,ans; lly,z,p; inthead[MOD+10],cnt; structnode { llfrom,
wzq_QwQ
·
2015-08-20 14:00
namespace
typedef
【快速幂】【扩展欧几里德】【BSGS】【SDOI 2011】【bzoj 2242】计算器
2242:[
SDOI2011
]计算器TimeLimit:10SecMemoryLimit:512MB Submit:2077Solved:812 Description你被要求设计一个计算器完成以下三项任务
morestep
·
2015-08-17 16:00
bzoj2243: [
SDOI2011
]染色
2243:[
SDOI2011
]染色TimeLimit: 20Sec MemoryLimit: 512MBSubmit: 3271 Solved: 1262[Submit][Status][Discuss
thy_asdf
·
2015-06-22 20:00
动态树
树链剖分
LCT
上一页
1
2
3
4
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他