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
HNOI2012
2734: [
HNOI2012
]集合选数 (状压dp)
#include#include#include#definemod1000000001usingnamespacestd;intread(){intx=0,f=1;charch=getchar();while(ch'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&chhttp://www.zhihu.com/people/rqihw/asksht
ndsffx501ccy
·
2020-07-14 15:45
动态规划/贪心/递推
2733: [
HNOI2012
]永无乡 (线段树+并查集)
#include#include#defineinf1000000000usingnamespacestd;inlineintread(){intx=0,f=1;charch=getchar();while(ch'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch>1;if(val>1;if(sum[ls[k]]>=rank)returnquer
ndsffx501ccy
·
2020-07-14 15:44
图论
数据结构
P3226 [
HNOI2012
]集合选数 状压dp(思维题)
题目题目大意《集合论与图论》这门课程有一道作业题,要求同学们求出{1,2,3,4,5}的所有满足以下条件的子集:若x在该子集中,则2x和3x不能在该子集中。同学们不喜欢这种具有枚举性质的题目,于是把它变成了以下问题:对于任意一个正整数n≤100000,如何求出{1,2,...,n}的满足上述约束条件的子集的个数(只需输出对1,000,000,001取模的结果),现在这个问题就交给你了。输入格式只有
HISKrrr
·
2020-06-27 20:00
错误总结
要想明白线段树的每个权值是维护啥的再写堑的来源:HEOI&TJOI2016树\(inv[1]\)记得设\(0\),求组合数要预处理前缀积堑的来源:SPOJ3734\(push\_up\)的时候要加上自己的\(size\)堑的来源:
HNOI2012
言似缥缈
·
2020-02-24 13:00
BZOJ 2733: [
HNOI2012
]永无乡
并查集加线段树合并直接对两个集合的根合并,查询也在并查集的根上查,这样就不需要可持久化了#includeusingnamespacestd;templateinlinevoidread(T&x){x=0;Tf=1;charch=getchar();while(ch'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch>1;if(pos>1;if(t
Mrzdtz220
·
2020-02-16 12:00
P3225 [
HNOI2012
]矿场搭建
目录题目链接图论的相关定义题解代码好不错的一道题,花了大量知识ac了题目链接https://www.luogu.com.cn/problem/P3225图论的相关定义https://www.cnblogs.com/poi-bolg-poi/p/12183166.html可直接在这看↓题解起初做的时候以为,寻找每个割点,在割点形成的联通块中判断。每有一个联通块,ans1++;联通块size相乘得到a
skkyk
·
2020-01-15 19:00
[
HNOI2012
]射箭
题目wdnmd这精度卡死我了不难发现答案是存在单调性的,于是我们二分就好了;现在要做的就是给定一些竖直线段,问是否存在一条标准抛物线经过所有线段对于一条线段\((x_i,l_i,r_i)\),如果\(f(x)=ax^2+bx\)经过它的话需要满足\(l_i\leqax_i^2+bx_i\leqr_i\)也就是说\(ax_i^2+bx_i-l_i\geq0,ax_i^2+bx_i-r_i\leq0\
asuldb
·
2020-01-08 11:00
【题解】三角形 [P1222] / 三角形覆盖问题 [
HNOI2012
] [P3219]
【题解】三角形[P1222]/三角形覆盖问题[
HNOI2012
][P3219]传送门:三角形\(\text{[P1222]}\)三角形覆盖问题\(\text{[
HNOI2012
][P3219]}\)【题目描述
辰星凌
·
2019-12-27 21:00
洛谷P3225 [
HNOI2012
]矿场搭建
https://www.luogu.org/problem/P3225题意:煤矿工地可以看成是由隧道连接挖煤点组成的无向图。为安全起见,希望在工地发生事故时所有挖煤点的工人都能有一条出路逃到救援出口处。于是矿主决定在某些挖煤点设立救援出口,使得无论哪一个挖煤点坍塌之后,其他挖煤点的工人都有一条道路通向救援出口。请写一个程序,用来计算至少需要设置几个救援出口,以及不同最少救援出口的设置方案总数。思路
a-free-man
·
2019-10-26 21:39
无向图的割顶和桥
[BZOJ2734] [
HNOI2012
]集合选数
[BZOJ2734][
HNOI2012
]集合选数蒻得不行的我觉得这是一道比较难的题,以至于我卡了很久可以看出,所有会互相直接造成影响的数之间构成一张\(DAG\),边就是\(i->i*2,i->i*3\
chasedeath
·
2019-10-13 10:00
状压dp专题复习
状压dp专题复习(有些题过于水,我直接跳了)技巧总结:1.矩阵状压上一行的选择情况\(n*2^n\)D[BZOJ2734][
HNOI2012
]集合选数蒻得不行的我觉得这是一道比较难的题,以至于我卡了很久可以看出
chasedeath
·
2019-10-13 10:00
洛谷$P3226\ [
HNOI2012
]$集合选数 状压$dp$
正解:$dp$解题报告:传送门$QwQ$考虑列一个横坐标为比值为2的等比数列,纵坐标为比值为3的等比数列的表格.发现每个数要选就等价于它的上下左右不能选.于是就是个状压$dp$板子了$QwQ$然后因为有些数是无关联的就不会在一个表格中($eg:1,5$.所以要建多个表格,最后乘法原理就好,$over$#includeusingnamespacestd;#defineilinline#defineg
杰西卡!
·
2019-10-04 21:00
【Splay】【
HNOI2012
】永无乡
【题目描述】基本上一次写过的平衡树,写篇题解留个纪念开n棵Splay维护这个联通块的第k小值,合并时用启发式合并,因为每次启发式合并一定是用小合并至大,所以每个点最多被合并log次,复杂度正确维护合并情况采用并查集#include#include#include#include#include#include#include#include#includeusingnamespacestd;int
Dy_Dream
·
2018-11-29 21:11
平衡树
Splay
数据结构
数据结构
平衡树
[
HNOI2012
]矿场搭建(tarjan求点双)
题目Description煤矿工地可以看成是由隧道连接挖煤点组成的无向图。为安全起见,希望在工地发生事故时所有挖煤点的工人都能有一条出路逃到救援出口处。于是矿主决定在某些挖煤点设立救援出口,使得无论哪一个挖煤点坍塌之后,其他挖煤点的工人都有一条道路通向救援出口。请写一个程序,用来计算至少需要设置几个救援出口,以及不同最少救援出口的设置方案总数。Input输入文件有若干组数据,每组数据的第一行是一个
ezoiLZH
·
2018-09-22 19:25
题解
【BZOJ2730】[
HNOI2012
] 矿场搭建(找割点)
点此看题面大致题意:一张无向图,要求你在去掉任意一个节点之后,剩余的每个节点都能到达一个救援出口,问至少需要几个救援出口。第一步:TarjanTarjanTarjan求割点首先,我们要跑一遍TarjanTarjanTarjan来求出割点。LinkLinkLinkTarjanTarjanTarjan求割点详见博客Tarjan在图论中的应用(二)——用Tarjan来求割点与割边求完割点后,这样我们就能
chenxiaoran666
·
2018-09-08 12:56
BZOJ
割点与割边
HNOI2012
永无乡
题目链接:https://www.luogu.org/problemnew/show/P3224splay启发式合并模板,小splay往大splay插,感性理解,一个点最多插logn次,插一次logn,n个点,nlognlogn~#includeusingnamespacestd;#defineInc(i,L,r)for(registerinti=(L);i<=(r);++i)constintN=
DancingZ
·
2018-08-25 15:49
数据结构
splay
BZOJ2727: [
HNOI2012
]双十字-树状数组
传送门题意:给定一个R∗CR∗C的01矩阵,要求计算出这个01矩阵中有多少个双十字。双十字由两条水平的和一条竖直的“1”线段组成,要求满足以下几个限制:1.两条水平的线段不能在相邻的两行。2.竖直线段上端必须严格高于两条水平线段,下端必须严格低于两条水平线段。3.竖直线段必须将两条水平线段严格划分成相等的两半。4.上方的水平线段必须严格短于下方的水平线段。输出双十字的个数mod1,000,000,
Fizzmy
·
2018-06-05 11:36
线段树
【
HNOI2012
/BZOJ2730】矿场搭建 双联通分量
原题走这里又是一道神奇的题首先我们会发现在同一个双联通分量内如果坍塌的不是割点则不会有任何影响那么我们只考虑割点坍塌的情况如果某个双连通分量有多于一个割点,则无需设置逃生出口否则要在非割点的点上设置一个每个设置了逃生出口双联通分量的大小减去1之后全部乘起来即可注意特判全图只有一个双联通分量的情况,只需2个逃生出口代码如下:#includeusingnamespacestd;intk,m,n,s[1
CRTorlonia
·
2018-03-01 13:25
[BZOJ][平衡树+启发式合并][替罪羊树]2733: [
HNOI2012
]永无乡
2733:[
HNOI2012
]永无乡TimeLimit:10SecMemoryLimit:128MBSubmit:4444Solved:2378[Submit][Status][Discuss]Description
Axcosin
·
2018-02-05 17:44
平衡树
启发式合并
BZOJ 2733 永无乡 [线段树合并]
2733:[
HNOI2012
]永无乡TimeLimit:10SecMemoryLimit:128MBSubmit:3624Solved:1937[Submit][Status][Discuss]Description
ACTerminate
·
2017-07-10 15:04
BZOJ
线段树
挖个坑的图论题
图论[POI2008]BLO☆(A)[Poi2012]Festival☆☆☆☆[Poi2011]ProgrammingContest☆☆☆[
HNOI2012
]矿场搭建☆☆☆(A)[ZJOI2007]矩阵游戏
kamisamaxmd
·
2017-06-07 18:41
题表
bzoj 2730: [
HNOI2012
]矿场搭建(tarjan求点双连通分量)
题目描述传送门题解对无向图求边双连通分量,缩点后会形成一棵树。但是这道题是删点不是删边,所以求的是点双连通分量,因为一个割点可能属于好几个点双连通分量,所以我们需要对每个点双连通分量新建节点,然后把属于这个点双连通分量的点连接上去。最后也可以形成一棵树,每两个原图中的节点中间一定连着一个点双的节点。那么这道题方案怎么求呢?最小个数就是子树中不再含有点双节点的点双节点(或者说是点双中的叶子节点)。方
clover_hxy
·
2017-04-06 14:21
tarjan
算法
BZOJ2730——[
HNOI2012
]矿场搭建
bzoj2730&worldfinal2011H1、题目大意:就是有一个无向图,让你在里面选择点,使得,无论哪个点没了以后,其他的点都能到达你选择的任何一个点,输出最少选择几个点,和选择最少的方案数,最多有500条边。2、分析:首先我们想如果没得不是割顶,那么其他的都无所谓了。然后如果没有割顶,那就是选两个点,(避免其中你选的点没了)如果有,我们把所有的割顶去掉,得到一些连通分量,那么如果一个连通
qzh_1430586275
·
2016-05-18 08:00
bzoj
双联通分量
HNOI2012
2730
矿场搭建
bzoj2732【
HNOI2012
】射箭
2732:[
HNOI2012
]射箭TimeLimit: 10Sec MemoryLimit: 128MBSubmit: 1925 Solved: 662[Submit][Status][Discuss
AaronGZK
·
2016-04-20 23:00
半平面交
bzoj
二分答案
BZOJ 2732: [
HNOI2012
]射箭
首先分析一下题目设抛物线为y=a*x^2+b*x然后就是看是否存在a,b满足条件了即y1 #include #include #include #include usingnamespacestd; #definedoublelongdouble constintN=200000+10; constdoubleinf=1e15; intread(){ charch=getchar();intx=0
nlj1999
·
2016-04-08 10:00
BZOJ 2731: [
HNOI2012
]三角形覆盖问题
VFK大爷太神辣%%%%%%%%神犇就是厉害,从小就会暴力过题#include #include #include #include usingnamespacestd; constintN=10000+5; structtri{ intx,y,d,l,r; booloperator<(consttri&rhs)const{ returny
nlj1999
·
2016-04-07 21:00
BZOJ 2728: [
HNOI2012
]与非
OrzpopoQQQ大爷#include #include #include usingnamespacestd; typedeflonglongll; llbase[70],all,tot; llquery(llx){ if(x=0;i--) if(!vis[i]){ llnow=all; for(intj=1;j>i&1)now&=a[j]; elsenow&=~a[j]&all; base[
nlj1999
·
2016-04-07 15:00
BZOJ 2727: [
HNOI2012
]双十字
如果你有一道题一上午都没调出来那么一定是你取模取错了QAQ下意识地对(1e9)+7取了模,现在才发现是(1e9)+9这个首先推一下公式,然后开三个树状数组维护一下就好了#include #include #include #include usingnamespacestd; constintN=1200000+5; typedeflonglongll; constintp=(1e9)+9; in
nlj1999
·
2016-04-07 11:00
【bzoj2734】【
HNOI2012
】【集合选数】
2734:[
HNOI2012
]集合选数TimeLimit:10SecMemoryLimit:128MBSubmit:889Solved:523[Submit][Status][Discuss]Description
FZHvampire
·
2016-04-03 17:00
bzoj2732: [
HNOI2012
]射箭
题目链接bzoj2732题目描述Description沫沫最近在玩一个二维的射箭游戏,如下图1所示,这个游戏中的x轴在地面,第一象限中有一些竖直线段作为靶子,任意两个靶子都没有公共部分,也不会接触坐标轴。沫沫控制一个位于(0,0)的弓箭手,可以朝0至90?中的任意角度(不包括0度和90度),以任意大小的力量射出带有穿透能力的光之箭。由于游戏中没有空气阻力,并且光之箭没有箭身,箭的轨迹会是一条标准的
zmh964685331
·
2016-03-23 20:00
bzoj 2730: [
HNOI2012
]矿场搭建
1#include 2#include 3#include 4#defineM508 5usingnamespacestd; 6intT=1,m,n,head[M],K,next[10*M],u[10*M],cnt,f[M],c[M],fa[M],dfn[M],low[M],time1,ans,bi[M],sum[M]; 7longlongans1=1; 8voidjia(inta1
xiyuedong
·
2016-03-22 06:00
【tarjan求割顶】BZOJ2730-[
HNOI2012
]矿场搭建
【题目大意】煤矿工地可以看成是由隧道连接挖煤点组成的无向图。为安全起见,希望在工地发生事故时所有挖煤点的工人都能有一条出路逃到救援出口处。于是矿主决定在某些挖煤点设立救援出口,使得无论哪一个挖煤点坍塌之后,其他挖煤点的工人都有一条道路通向救援出口。请写一个程序,用来计算至少需要设置几个救援出口,以及不同最少救援出口的设置方案总数。【思路】可以得出这样的结论:(1)如果一个点是割点,那么在它上面建救
GufuVelvirki
·
2016-03-15 22:00
bzoj 2733: [
HNOI2012
]永无乡
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2733思路:数据结构的启发式合并,把小的塞到大的里就好啦,,,复杂度Nlog^2N,不科学?很科学,,考虑每个点至多合并logn次,,所以,,,不多说,,用cin读入字符狂RE不止,,,我也是醉了,,,真的知道读入优化的必要了把,,,代码:#include #include #include
qq_20669971
·
2016-03-14 20:00
bzoj2734【
HNOI2012
】集合选数
2734:[
HNOI2012
]集合选数TimeLimit: 10Sec MemoryLimit: 128MBSubmit: 831 Solved: 487[Submit][Status][Discuss
AaronGZK
·
2016-02-27 00:00
dp
bzoj
bzoj2734【
HNOI2012
】集合选数
2734:[
HNOI2012
]集合选数TimeLimit: 10Sec MemoryLimit: 128MBSubmit: 831 Solved: 487[Submit][Status][Discuss
AaronGZK
·
2016-02-27 00:00
dp
bzoj
【BZOJ 2730】 [
HNOI2012
]矿场搭建
Description煤矿工地可以看成是由隧道连接挖煤点组成的无向图。为安全起见,希望在工地发生事故时所有挖煤点的工人都能有一条出路逃到救援出口处。于是矿主决定在某些挖煤点设立救援出口,使得无论哪一个挖煤点坍塌之后,其他挖煤点的工人都有一条道路通向救援出口。请写一个程序,用来计算至少需要设置几个救援出口,以及不同最少救援出口的设置方案总数。Input输入文件有若干组数据,每组数据的第一行是一个正整
抬头仰望浮云飘过
·
2016-02-17 06:00
【连通分量】BZOJ 2730: [
HNOI2012
]矿场搭建
2730:[
HNOI2012
]矿场搭建Description煤矿工地可以看成是由隧道连接挖煤点组成的无向图。为安全起见,希望在工地发生事故时所有挖煤点的工人都能有一条出路逃到救援出口处。
puck_just_me
·
2016-02-13 16:45
连通分量
【连通分量】BZOJ 2730: [
HNOI2012
]矿场搭建
2730:[
HNOI2012
]矿场搭建Description煤矿工地可以看成是由隧道连接挖煤点组成的无向图。为安全起见,希望在工地发生事故时所有挖煤点的工人都能有一条出路逃到救援出口处。
puck_just_me
·
2016-02-13 16:45
连通分量
BZOJ2733: [
HNOI2012
]永无乡
Description永无乡包含n座岛,编号从1到n,每座岛都有自己的独一无二的重要度,按照重要度可以将这n座岛排名,名次用1到n来表示。某些岛之间由巨大的桥连接,通过桥可以从一个岛到达另一个岛。如果从岛a出发经过若干座(含0座)桥可以到达岛b,则称岛a和岛b是连通的。现在有两种操作:Bxy表示在岛x与岛y之间修建一座新桥。Qxk表示询问当前与岛x连通的所有岛中第k重要的是哪座岛,即所有与岛x连通
wzj_is_a_juruo
·
2016-02-02 13:00
bzoj2733: [
HNOI2012
]永无乡
题目bzoj2733Description永无乡包含n座岛,编号从1到n,每座岛都有自己的独一无二的重要度,按照重要度可以将这n座岛排名,名次用1到n来表示。某些岛之间由巨大的桥连接,通过桥可以从一个岛到达另一个岛。如果从岛a出发经过若干座(含0座)桥可以到达岛b,则称岛a和岛b是连通的。现在有两种操作:Bxy表示在岛x与岛y之间修建一座新桥。Qxk表示询问当前与岛x连通的所有岛中第k重要的是哪座
zmh964685331
·
2016-01-15 13:00
BZOJ 2730: [
HNOI2012
]矿场搭建 | tarjan
数组忘了清零wa了一发还有为什么我的%lld会爆wa 然而ws_fqk的%lld却能爆正解难道是大神光环QAQ求大牛解释ws_fqk神犇题解#include #include #include #include #include #include #include #include #include #include #defineT111111 usingnamespacestd; intsc(
ws_yzy
·
2016-01-08 16:00
Tarjan
求割点
2730: [
HNOI2012
]矿场搭建 tarjan求割点
又做了一道求割点的题。可以发现,如果boom处不在割点那么是没有影响的,所以我们只讨论割点的情况。在求出所有的割点之后,整个图被分成了几个联通块。我们对联通块含有割点的个数进行讨论。如果无割点,那么我们只需要建立两个出口,防止建立一个出口而这个出口炸掉。如果有一个割点,我们必须建立一个出口(不能在割点处)。如果有两个割点,我们不需要建立出口,因为一个爆炸时我们可以从另一个出去。所以先tarjan求
Phenix_2015
·
2016-01-07 09:00
bzoj2734: [
HNOI2012
]集合选数
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2734思路:这题想法比较神,实现却很简单首先注意到“若x在该子集中,则2x和3x不能在该子集中”然后写出如下矩阵,其中每个数下面的数是它的2倍,右边的数是它的3倍,且每个数不超过n13927...261854...41236108...然后再以这个矩阵中没有出现的最小的数为左上角写出新的矩阵,
thy_asdf
·
2016-01-04 19:00
bzoj2728: [
HNOI2012
]与非
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2728思路:首先我们要玩出nand的性质nand可以表示出所有逻辑运算nota=anandaaandb=not(anandb)....这题另一个性质就是如果a[1]~a[n]的所有数第i位和第j位相同,那么nand出来的数第i位和第j位也相同把取值相同的并到一起,用一个并查集维护一下。然后我们
thy_asdf
·
2016-01-04 16:00
bzoj2730: [
HNOI2012
]矿场搭建
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2730思路:点双缩点对于一个点双,如果它不与任何一个割点相连,那它就要建两个出口与一个相连,就见一个与两个以上相连就不用建方案就是每个点双去掉割点的点数之积#include #include #include #include constintmaxn=1010,maxm=maxn=2)cut
thy_asdf
·
2016-01-03 20:00
bzoj2727: [
HNOI2012
]双十字
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2727思路:先预处理出c[i],down[i]c[i]表示i点向两侧最多扩展多远(不包括自身,因为长度为1的横线显然是不合题意的)down[i]表示向下扩展多远(也不包括自身,因为"下端必须严格低于两条水平线段")这个可以通过O(R*C)的预处理求得首先我们枚举竖线,因为竖线只有一根然后考虑对
thy_asdf
·
2016-01-03 11:00
bzoj2729: [
HNOI2012
]排队
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2729思路:简单的排列组合题A(n,n)*(A(n+1,2)*A(n+3,m)+A(m,1)*A(2,2)*A(n+1,1)*A(n+2,m-1))首先我们观察,男生无限制,先把男生排好即A(n,n)然后我们排老师,老师不能相邻,n个男生有n+1个空位如果老师被男生隔开,即有A(n+1,2)的
thy_asdf
·
2016-01-01 10:00
bzoj2733: [
HNOI2012
]永无乡
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2733思路:splay裸题,没啥好说的...用来练练手#include #include #include #include #definelsch[p][0] #definersch[p][1] constintmaxn=100010; usingnamespacestd; intf[max
thy_asdf
·
2015-12-30 14:00
2734: [
HNOI2012
]集合选数
Orz黄学长。看了题目N久毫无头绪。原来是自己懒得动笔。。。。。。。列个矩阵就可以很明显地看出状压DP了。#include #include #include usingnamespacestd; typedeflonglongll; constintmod=1000000001; intf[20][2048]; intmat[20][20],bin[20],s[20],n; boolmark[1
nlj1999
·
2015-12-23 19:00
2730: [
HNOI2012
]矿场搭建
点-双联通分量。显然割顶不放,一个双联通分量若有多个割顶,也不用放,剩下的就是乘法原理了。特判:原图是双联通的,任意找两个点放就好了。WF2011原题。#include #include #include #include #include usingnamespacestd; constintN=500+5; typedeflonglongll; structEdge{intto,next;}e
nlj1999
·
2015-12-23 19:00
上一页
1
2
3
下一页
按字母分类:
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
其他