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
ZJOI2008
【树DP】【基环树】[
ZJOI2008
][HYSBZ/BZOJ1040]骑士
题目链接分析看穿题目如果一个骑士痛恨另一个骑士,就在两个骑士直接连接一条无向边。题目就是要求图中的最大权值独立集。实现方法如果这道题的图是一棵树(或森林)的话,显然可以用树形动态规划解决。令f(u)表示以u为根的子树中的最大权值的独立集,令s(u)=∑v是u的儿子vf(v),gs(u)=∑v是u的孙子vf(v)f(u)=max(s(u),gs(u)+wt(u))但是这道题的图并不是树,那怎么办呢?
outer_form
·
2016-02-05 18:00
C++
动态规划
bzoj
ZJOI
基环树
【半平面交】[
ZJOI2008
][HYSBZ\BZOJ1038]瞭望塔
题目链接分析看穿题目考虑组成村庄的每一条线段,显然,我们要在这条线段所在直线上方的半平面内才能看见它。所以,瞭望塔必须要在所有组成村庄的线段的所在直线的上方的半平面的交集内,才能从瞭望塔的顶端可以看到H村的任意位置所以,这道题就是求村庄的地面到这个半平面交的最短距离。实现方式很多同学看到半平面交就觉得代码一定十分高(e)端(xin)。但是这道题的半平面交十分特殊。让我们先看看这道例题。例题例题链接
outer_form
·
2016-02-05 17:00
【DP】[
ZJOI2008
][HYSBZ/BZOJ1037]生日聚会Party
题目链接分析很容易想到可以用DP用f[i][j][x][y]表示已经有i个男孩,j个女孩坐下来,从右往前男孩最多比女孩多x个,女孩最多比男孩多y个。这道题状态转移用刷表法比较方便。f[i+1][j][x+1][max(y−1,0)]+=f[i][j][x][y]f[i][j+1][max(x−1,0)][y+1]+=f[i][j][x][y]分别表示在当前状态的后面加一个男孩或女孩。代码#incl
outer_form
·
2016-02-05 17:00
C++
dp
bzoj
ZJOI
【树链剖分】[
ZJOI2008
][HYSBZ/BZOJ1036]树的统计Count
题目链接树链剖分模板题(有树链剖分求LCA)代码#include #include #include #defineINF0x7fffffff usingnamespacestd; #defineMAXN100000 intn,a[MAXN+10],b[MAXN+10]; voidRead(int&x){ charc; while(c=getchar(),c!=EOF) if(c>='0'&&c=
outer_form
·
2016-02-05 16:00
C++
树链剖分
ZJOI
bzoj
【贪心】[
ZJOI2008
][HYSBZ/BZOJ1034]泡泡堂BNB
题目链接分析首先,我们会想到田忌赛马的问题。其实,这道题的做法差不多。对于对方的队员,我们都考虑用我方实力比他强的队员中最弱的那一个和他比赛,否则,安排我方最弱的队员和他比赛,这样就能使我方得分最多。由于总分是一定的,那我们只要使对方得分最多,我方得分就最少了。代码#include #include #include #defineINF0x7fffffff usingnamespacestd;
outer_form
·
2016-02-05 16:00
C++
贪心
ZJOI
bzoj
【模拟】【计算几何】[
ZJOI2008
][HYSBZ/BZOJ1033]杀蚂蚁antbuster
题目链接分析这道题,是一道十分优(e)秀(xin)的模拟题。有一些注意事项:一边看题一边写,不要把题目读错了一切活动都要严格按照这个顺序来,仔细理解题目所给的意思。注意蚂蚁移动的顺序。所有炮塔是同时攻击的。在模拟中掺杂了计算几何。知道了这些,写不写得出来,就看你的实(ren)力(pin)了。代码#include #include #include #include #include #includ
outer_form
·
2016-02-05 16:00
游戏
C++
模拟
计算几何
ZJOI
【半平面交】【计算几何】[BZOJ1038][
ZJOI2008
]瞭望塔
题目描述致力于建设全国示范和谐小村庄的H村村长dadzhi,决定在村中建立一个瞭望塔,以此加强村中的治安。我们将H村抽象为一维的轮廓。如下图所示我们可以用一条山的上方轮廓折线(x1,y1),(x2,y2),….(xn,yn)来描述H村的形状,这里x1#include#include#include#include#include#include#definemcp(a,b)fabs((a)-(b)
JeremyGJY
·
2016-02-05 16:02
数学——计算几何
数学——数论
图论
【半平面交】【计算几何】[BZOJ1038][
ZJOI2008
]瞭望塔
题目描述致力于建设全国示范和谐小村庄的H村村长dadzhi,决定在村中建立一个瞭望塔,以此加强村中的治安。我们将H村抽象为一维的轮廓。如下图所示我们可以用一条山的上方轮廓折线(x1,y1),(x2,y2),….(xn,yn)来描述H村的形状,这里x1 #include #include #include #include #include #include #definemcp(a,b)fabs(
JeremyGJY
·
2016-02-05 16:00
数论
计算几何
半平面交
bzoj
ZJOI
【动态规划】[BZOJ1037][
ZJOI2008
]生日聚会Party
题目描述今天是hidadz小朋友的生日,她邀请了许多朋友来参加她的生日party。hidadz带着朋友们来到花园中,打算坐成一排玩游戏。为了游戏不至于无聊,就座的方案应满足如下条件:对于任意连续的一段,男孩与女孩的数目之差不超过k。很快,小朋友便找到了一种方案坐了下来开始游戏。hidadz的好朋友Susie发现,这样的就座方案其实是很多的,所以大家很快就找到了一种,那么到底有多少种呢?热爱数学的h
JeremyGJY
·
2016-02-05 13:00
算法
数学
动态规划
NOI
ZJOI
【树】【独立集】【动态规划】[BZOJ1040][
ZJOI2008
]骑士
题目描述Z国的骑士团是一个很有势力的组织,帮会中汇聚了来自各地的精英。他们劫富济贫,惩恶扬善,受到社会各界的赞扬。最近发生了一件可怕的事情,邪恶的Y国发动了一场针对Z国的侵略战争。战火绵延五百里,在和平环境中安逸了数百年的Z国又怎能抵挡的住Y国的军队。于是人们把所有的希望都寄托在了骑士团的身上,就像期待有一个真龙天子的降生,带领正义打败邪恶。骑士团是肯定具有打败邪恶势力的能力的,但是骑士们互相之间
JeremyGJY
·
2016-02-05 13:00
动态规划
树
NOI
ZJOI
独立集
【树链剖分】[BZOJ1036][
ZJOI2008
]树的统计Count
题目描述一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作:I.CHANGEut:把结点u的权值改为tII.QMAXuv:询问从点u到点v的路径上的节点的最大权值III.QSUMuv:询问从点u到点v的路径上的节点的权值和注意:从点u到点v的路径上的节点包括u和v本身输入的第一行为一个整数n,表示节点的个数。接下来n–1行,每行2个整数a和
JeremyGJY
·
2016-02-04 13:00
算法
树链剖分
bzoj
ZJOI
BZOJ 1034 [
ZJOI2008
]泡泡堂BNB
类似于田忌赛马,尽量让最弱的打最弱,最强的打最强的。如果最弱的无法击败对方最弱的,就耗掉对方最强的。听起来很容易。。然而由于存在实力相等+1分的情况,处理起来有点小问题。。最后对着别人的代码才调对qaq 1#include 2#include 3#include 4 5usingnamespacestd; 6 7voidGet_Val(int&Ret) 8{ 9Ret=0; 10
Created_equal
·
2016-02-03 13:00
BZOJ 1034 [
ZJOI2008
]泡泡堂BNB
类似于田忌赛马,尽量让最弱的打最弱,最强的打最强的。如果最弱的无法击败对方最弱的,就耗掉对方最强的。听起来很容易。。然而由于存在实力相等+1分的情况,处理起来有点小问题。。最后对着别人的代码才调对qaq 1#include 2#include 3#include 4 5usingnamespacestd; 6 7voidGet_Val(int&Ret) 8{ 9Ret=0; 10
Created_equal
·
2016-02-03 13:00
bzoj 1036 [
ZJOI2008
]树的统计Count(树链剖分入门系列)
【说明】: 其实很早就看过树链剖分了,当时看得云里雾里,主要还是局限于概念,实际运用和概念理解之间还是有很大的隔阂。这隔阂只能通过做题来理解。基本概念:starszys加强理解:大神养成中简单运用:hzwer系列题目:kuangbin博客系列:hzwer【树链剖分第1题】 完全是按照hzwer的这篇博客依葫芦画瓢写的,虽然只是按着写,但感觉对于这种比较抽象的算法,还是按着写入门比较好,在写
David_Jett
·
2016-01-29 11:00
入门
树链剖分
bzoj1036【
ZJOI2008
】树的统计Count
1036:[
ZJOI2008
]树的统计CountTimeLimit: 10Sec MemoryLimit: 162MBSubmit: 10204 Solved: 4143[Submit][Status
AaronGZK
·
2016-01-15 16:00
树链剖分
bzoj
bzoj1036 (树链剖分)
1036:[
ZJOI2008
]树的统计CountTimeLimit: 10Sec MemoryLimit: 162MBSubmit: 9901 Solved: 4003[Submit][Status
M_AXSSI
·
2015-12-24 18:00
1040: [
ZJOI2008
]骑士
仙人掌暂时不会,只好来水一水基环外向树。话说无向的到底应该怎么叫?外向?内向?基环无向树(太诡异了)?然后对于这道题,由于是基环,所以要拆掉环上的一条边(u,v)然后树形DPu不选,dp。v不选,dp。取两者的最大值加到ans里去。然后我很沙茶地把当前点i当成了根,跪了好几次。#include #include #include usingnamespacestd; constintN=10000
nlj1999
·
2015-12-22 19:00
1036: [
ZJOI2008
]树的统计Count
1036:[
ZJOI2008
]树的统计CountTimeLimit: 10Sec MemoryLimit: 162MBSubmit: 9851 Solved: 3980[Submit][Status
CRZbulabula
·
2015-12-20 14:00
1034: [
ZJOI2008
]泡泡堂BNB
贪心。。。。。强赢强,弱赢弱,实在不行就GG啊。比之前的田忌赛马简单多了,那题用贪心讨论到明年去。。。。所以还是果断DP。不过这题就好说多了。#include #include #include #include usingnamespacestd; constintN=100000+5; inta[N],b[N],n; intwork(int*A,int*B){ inth=1,t=n,h1=1,
nlj1999
·
2015-12-18 21:00
BZOJ1036: [
ZJOI2008
]树的统计Count
Description一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作:I.CHANGEut:把结点u的权值改为tII.QMAXuv:询问从点u到点v的路径上的节点的最大权值III.QSUMuv:询问从点u到点v的路径上的节点的权值和注意:从点u到点v的路径上的节点包括u和v本身Input输入的第一行为一个整数n,表示节点的个数。接下来n
mrazer1234
·
2015-12-14 20:11
刷题
BZOJ 1036 [
ZJOI2008
]树的统计 Count 题解&代码
题意:一棵树上有n个节点,编号1到n,每个节点i有权值w[i]。有三种操作:I.CHANGEut:把结点u的权值改为tII.QMAXuv:询问从点u到点v的路径上的节点的最大权值III.QSUMuv:询问从点u到点v的路径上的节点的权值和注意:从点u到点v的路径上的节点包括u和v本身题目非常浅显易懂==线段树可以用maxv[]和sum[]保存状态。change操作就是线段树的单点修改维护qmax和
Rainbow6174
·
2015-12-12 16:00
题解
C++
树链剖分
bzoj
BZOJ 1036 [
ZJOI2008
]树的统计 Count 题解&代码
题意:一棵树上有n个节点,编号1到n,每个节点i有权值w[i]。有三种操作:I.CHANGEut:把结点u的权值改为tII.QMAXuv:询问从点u到点v的路径上的节点的最大权值III.QSUMuv:询问从点u到点v的路径上的节点的权值和注意:从点u到点v的路径上的节点包括u和v本身题目非常浅显易懂==线段树可以用maxv[]和sum[]保存状态。change操作就是线段树的单点修改维护qmax和
Rainbow6174
·
2015-12-12 16:00
题解
C++
树链剖分
bzoj
bzoj1038[
ZJOI2008
]瞭望塔
正解:半平面交但是我们可以发现这么多线搞半平面的交集是一个半凸壳,没错于是我们就可以借用某一道好像是最大可视面积(其实是HNOI2008水平可视直线)还是什么的题的做法直接维护这个图形然后我们就可以在每条线的交点处计算上下差值,至于为什么是交点……简单动态规划的最优值一定在某一个端点处取得大概是这样(其实我们可以用单调性来证明,毕竟线性函数)#include #include #include #
BPM136
·
2015-12-05 10:00
计算几何
BZOJ1036: [
ZJOI2008
]树的统计Count (树链剖分)
传送门这是一道树链剖分的基础题目,只需要用线段树来维护重链上的节点信息,轻链一条一条爬就行了,在查询的时候可以先求出LCA然后查询两个点到LCA的信息然后合并就行了。代码:/**************************************************************Problem:1036User:geng4512Language:C++Result:Accepte
geng4512
·
2015-11-22 16:00
【树链剖分】[
ZJOI2008
]树的统计Count
题目树链剖分,再存代码。#include #include #defineMAXN30000 #defineMAXLOG15 #defineINF0x7fffffff usingnamespacestd; intm,n,size[MAXN+10],dep[MAXN+10],f[MAXN+10][MAXLOG+1],bl[MAXN+10],pos[MAXN+10],wt[MAXN+10],lengt
outer_form
·
2015-11-15 22:00
C++
图论
BZOJ 1036 [
ZJOI2008
]树的统计Count
以前动态树写过这个题,今天尝试树链剖分解决~ 模板题,就声明一点,线段树维护的是点权 View Code 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <cstdlib> 5 #include
·
2015-11-13 15:06
count
BZOJ 1034 [
ZJOI2008
]泡泡堂BNB
贪心。和田忌赛马差不多。但是更简单一些。 最强的能赢就赢,最弱的能赢就赢,其他情况用最弱的拼对方最强的,感性想是这样的。。 View Code 1 #include <iostream> 2 #include <cstring> 3 #include <cstdio> 4 #include <cstdlib>
·
2015-11-13 15:03
2008
BZOJ 1040 [
ZJOI2008
]骑士
内向树dp~ 就是先找环,任取环上有边相连两点,u和v,以u为根,断开u和v之间的边,做两次树形dp,dp[i][0]表示i不选,dp[i][1]表示i选 ①强制u不选,v随意 ②u随意,v不选 两种情况取最大值即可~ View Code 1 #include <iostream> 2 #include <cstring> 3
·
2015-11-13 15:00
2008
【BZOJ】1038: [
ZJOI2008
]瞭望塔
http://www.lydsy.com/JudgeOnline/problem.php?id=1038 题意:给出n个x轴各不相同的二维整点,且升序,n<=300,坐标绝对值<=10^6,求这些点依次连接后折线的上面取一个点(x, y)使得:x0<=x<=xn,且这个点可以看得到所有线段的所有点。要求这些点到(垂直到)折线的y值之差最小。 #include <
·
2015-11-13 11:41
2008
【BZOJ】1037: [
ZJOI2008
]生日聚会Party(递推+特殊的技巧)
http://www.lydsy.com/JudgeOnline/problem.php?id=1037 看来自己越来越弱了。。。 这些计数题设计的状态都很巧妙,,自己智商太低QAQ 和矩阵dp做的那题差不多,都是枚举当前点的情况然后开了一些维来维护从当前点向前延伸的一些状态。 设d[i,j,x,y]表示前i个男的前j个女的,x表示从当前点向前延伸得到的最大的男减女的差,y表示从当前点向前
·
2015-11-13 11:32
2008
【BZOJ】1034: [
ZJOI2008
]泡泡堂BNB(贪心)
http://www.lydsy.com/JudgeOnline/problem.php?id=1034 弱的比弱的强就用,强的比强的强就用; 否则弱的和强的比。 输的情况就是2n-ans(b,a),因为总分是2n #include <cstdio> #include <cstring> #include <cmath> #include <
·
2015-11-13 11:21
2008
【BZOJ】1040: [
ZJOI2008
]骑士(环套树dp)
http://www.lydsy.com/JudgeOnline/problem.php?id=1040 简直不能再神的题orz。 蒟蒻即使蒟蒻,完全不会。 一开始看到数据n<=1000000就傻了,简直O(n)的节奏。 翻了题解!做了2天! 蒟蒻的典范! 题解: 我们发现,每个人都有一条边,那么就有n条边,并且一定有一个环并且有且只有一个! 然后环套树的概念
·
2015-11-13 11:08
2008
【BZOJ】1036: [
ZJOI2008
]树的统计Count(lct/树链剖分)
http://www.lydsy.com/JudgeOnline/problem.php?id=1036 lct: (ps:为嘛我的那么慢T_T,不知道排到哪了。。难道别人都是树剖吗。。。看来有必要学 orz 裸的lct,这里只说一下找路径就行了。,。算了,上晚修去了,待会回来更 lca大家应该都会求,就是2次access就行了(很容易理解的) 然后我们求路径的时候,用lca的
·
2015-11-13 11:56
count
BZOJ 1036: [
ZJOI2008
]树的统计Count
1036: [
ZJOI2008
]树的统计Count Time Limit: 10 Sec Memory Limit: 162 MB Submit: 
·
2015-11-13 05:03
count
QTREE 树链剖分---模板 spoj QTREE
更成熟的代码可以看下一篇BZOJ 1036: [
ZJOI2008
]树的统计Count #include <set>
·
2015-11-13 03:48
tree
【
ZJOI2008
】 树的统计 count
Description 一 棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 III. QSUM u v: 询问从点u到点v的路径上的节点的权值和 注意:从点u到点v的路径上的节点包括u和v本身 Input
·
2015-11-13 01:23
count
BZOJ 1040: [
ZJOI2008
]骑士 基环加外向树
1040: [
ZJOI2008
]骑士 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 1190&
·
2015-11-13 00:12
2008
BZOJ 1036: [
ZJOI2008
]树的统计Count
1036: [
ZJOI2008
]树的统计Count Time Limit: 10 Sec Memory Limit: 162 MB Submit: 
·
2015-11-13 00:02
count
BZOJ 1036 [
ZJOI2008
]树的统计Count(动态树)
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1036 题意:一棵树,每个节点有一个权值。三种操作:(1)修改某个节点的权值;(2)输出某两个节点之间的权值之和;(3)输出某两个节点之间权值的最大值。 思路:(1)首先说明,在splay中记录一个father,表示当前节点的父节点。但是在这里,在一个树链中,father与在splay中
·
2015-11-11 09:40
count
BZOJ1037: [
ZJOI2008
]生日聚会Party
DP… 1 /************************************************************** 2 Problem: 1037 3 User: zhuohan123 4 Language: C++ 5 Result: Accepted 6 Time:448 ms 7 Memor
·
2015-11-08 16:26
2008
BZOJ1034: [
ZJOI2008
]泡泡堂BNB
题目描述里的非主流配图… 这道题做法和田忌赛马差不多,先把自己和对手都排个序,只要按照下面的流程走就行了: 1.尽量用自己最优的干掉对方最优的 ans+=2 2.尽量用自己最矬的干掉对方最矬的 ans+=2 3.用自己最矬的一个干掉对方最优的 ans+=(两者是否相同)? 1:0 而自己最坏的情况,只要用对手最优的情况反着来一次。 1 /****************
·
2015-11-08 16:24
2008
树链剖分(单点更新,求区间最值,区间求和Bzoj1036)
1036: [
ZJOI2008
]树的统计Count Time Limit: 10 Sec Memory Limit: 162 MB Submit: 
·
2015-11-07 12:45
ZOJ
[
ZJOI2008
]瞭望塔
用每条相邻两点所构成的直线维护一个下凸。 主要注意凸包的点与地面的高度差,地面的拐点与凸包的高度差。 /** * Problem:[JLOI2013]Tower * Author:Shun Yao * Time:2013.5.30 * Result:Accepted */ #include <cstring> #include <cstdlib&
·
2015-11-02 19:57
2008
[
ZJOI2008
]骑士
(我写的是环dp) /** * Problem:[
ZJOI2008
]p5 * Author:Shun Yao * Time:2013.5.30 *
·
2015-11-02 19:57
2008
[
ZJOI2008
]生日聚会
dp,f[i][j][k][l]表示前i个人,j个男生,后缀中男生比女生最多多k人,最少少l人的方案数。 /** * Problem:Party * Author:Shun Yao * Time:2013.5.30 * Result:Accepted * Memo:DP */ #include <cstring> #include <cstdl
·
2015-11-02 19:56
2008
[
ZJOI2008
]泡泡堂
贪心, 最强/最弱的能赢就打,否则自己最弱的打对手最强的。 /** * Problem:BNB * Author:Shun Yao * Time:2013.5.30 * Result:Accepted * Memo:greedy */ #include <cstdio> #include <algorithm> long n, x[
·
2015-11-02 19:55
2008
1037: [
ZJOI2008
]生日聚会Party - BZOJ
Description今天是hidadz小朋友的生日,她邀请了许多朋友来参加她的生日party。 hidadz带着朋友们来到花园中,打算坐成一排玩游戏。为了游戏不至于无聊,就座的方案应满足如下条件:对于任意连续的一段,男孩与女孩的数目之差不超过k。很快,小朋友便找到了一种方案坐了下来开始游戏。hidadz的好朋友Susie发现,这样的就座方案其实是很多的,所以大家很快就找到了一种,那么到底有多少种
·
2015-11-02 12:59
2008
1036: [
ZJOI2008
]树的统计Count - BZOJ
Description一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 III. QSUM u v: 询问从点u到点v的路径上的节点的权值和 注意:从点u到点v的路径上的节点包括u和v本身Input输入的第一行为一
·
2015-11-02 12:58
count
1034: [
ZJOI2008
]泡泡堂BNB - BZOJ
Description第XXXX届NOI期间,为了加强各省选手之间的交流,组委会决定组织一场省际电子竞技大赛,每一个省的代表队由n名选手组成,比赛的项目是老少咸宜的网络游戏泡泡堂。每一场比赛前,对阵双方的教练向组委会提交一份参赛选手的名单,决定了选手上场的顺序,一经确定,不得修改。比赛中,双方的一号选手,二号选手……,n号选手捉对厮杀,共进行n场比赛。每胜一场比赛得2分,平一场得1分,输一场不得分
·
2015-11-02 12:56
2008
1038: [
ZJOI2008
]瞭望塔 - BZOJ
Description致力于建设全国示范和谐小村庄的H村村长dadzhi,决定在村中建立一个瞭望塔,以此加强村中的治安。我们将H村抽象为一维的轮廓。如下图所示 我们可以用一条山的上方轮廓折线(x1, y1), (x2, y2), …. (xn, yn)来描述H村的形状,这里x1 < x2 < …< xn。瞭望塔可以建造在[x1, xn]间的任意位置, 但必须满足从瞭望塔的顶端可以
·
2015-11-02 12:50
2008
上一页
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
其他