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
JSOI2010
洛谷P4306 [
JSOI2010
]连通数 (floyd传递闭包 + bitset优化)
题目描述度量一个有向图联通情况的一个指标是连通数,指图中可达顶点对个的个数。如图顶点111可达1,2,3,4,51,~2,~3,~4,~51,2,3,4,5顶点222可达2,3,4,52,~3,~4,~52,3,4,5顶点333可达3,4,53,~4,~53,4,5顶点4,54,~54,5都只能到达自身。所以这张图的连通数为141414。给定一张图,请你求出它的连通数输入格式输入数据第一行是图顶点
2018_XWJ
·
2023-11-24 22:03
图论
STL
【水题记录】
JSOI2010
连通数
link洛谷上的题解的做法似乎有点麻烦。(不得不说时限300ms)这里我们看了题后我们可以选择传递闭包做法。但是时限太短,我们可以利用bitset优化。明显会被hack,但是都2023了,NOIP已经允许开O2了然后……就过了。代码:#include#include#include#defineP(A)A=-~A#defineFione(i,a,b)for(registerinti=a;ia[NU
SHOJYS
·
2023-09-30 07:59
图论
算法
P4047 [
JSOI2010
]部落划分题解
P4047[
JSOI2010
]部落划分题意:给定一些点,要把这些点分为k个部落,问最近两个部落间的最远距离是多少。解法:二分答案+并查集检测鸭!
cornivores
·
2020-10-08 14:36
bzoj 1820: [
JSOI2010
]Express Service 快递服务
直接写状态的话,可以用dp[i][j][k][l]表示位置在j,k,l,当前完成的是第i个任务。发现j,k,l一定有一个和p[i]相同,可以再减掉一维。这样的话复杂度就是m^2n的。但是空间只有64M,所以还需要再滚动数组压掉一维。#include#defineN1010#defineM210usingnamespacestd;intdp[2][M][M];inta[N]={1};intd[M][
我的妹妹syf
·
2020-09-12 06:38
bzoj
dp
滚动数组
JSOI
bzoj
dp
滚动数组
jsoi
bzoj1822: [
JSOI2010
]Frozen Nova 冷冻波
--[
JSOI2010
]FrozenNova冷冻波1822:[
JSOI2010
]FrozenNova冷冻波TimeLimit:10SecMemoryLimit:64MBSubmit:2355Solved
spzb
·
2020-08-24 09:26
最大流
计算几何
【bzoj1821】[
JSOI2010
]Group 部落划分
题目描述聪聪研究发现,荒岛野人总是过着群居的生活,但是,并不是整个荒岛上的所有野人都属于同一个部落,野人们总是拉帮结派形成属于自己的部落,不同的部落之间则经常发生争斗。只是,这一切都成为谜团了——聪聪根本就不知道部落究竟是如何分布的。不过好消息是,聪聪得到了一份荒岛的地图。地图上标注了N个野人居住的地点(可以看作是平面上的坐标)。我们知道,同一个部落的野人总是生活在附近。我们把两个部落的距离,定义
Loi_MeiCo
·
2020-08-19 08:21
图论
数据结构
基础算法
bzoj 2208 //2208: [
Jsoi2010
]连通数
bzoj2208//2208:[
Jsoi2010
]连通数//在线测评地址https://www.lydsy.com/JudgeOnline/problem.php?
mrcrack
·
2020-08-18 00:06
跟着大佬学算法
BZOJ1823: [
JSOI2010
]满汉全席
题目描述算了太长了,就不复制了Solution对于每种食材,只有HM两种选择考虑2-SAT,对于每种限制条件就相当于XorY=1.建边就是X’->Y,Y’->X第一次写2-SAT感觉还不错#include#include#includeusingnamespacestd;#definemaxn100010inlineintread(){intret=0,ff=1;charch=getchar();
wondover
·
2020-08-11 01:51
2-SAT
图论
lizbaka的周记
题解点分治*「Luogu3806」点分治1->题解点分治*「Luogu2634」[国家集训队]聪聪可可->题解※点分治*「Luogu2495」[SDOI2011]消耗战->题解虚树「BZOJ1821」[
JSOI2010
weixin_34343000
·
2020-08-09 00:07
【Luogu 4171】[
JSOI2010
] 满汉全席(2-SAT)
目录题目题目描述输入格式输出格式输入输出样例思路2_SAT定义求解代码题目题目描述满汉全席是中国最丰盛的宴客菜肴,有许多种不同的材料透过满族或是汉族的料理方式,呈现在數量繁多的菜色之中。由于菜色众多而繁杂,只有极少數博学多闻技艺高超的厨师能够做出满汉全席,而能够烹饪出经过专家认证的满汉全席,也是中国厨师最大的荣誉之一。世界满汉全席协会是由能够料理满汉全席的专家厨师们所组成,而他们之间还细分为许多不
t14
·
2020-08-01 00:29
图论
#
2-SAT
[
JSOI2010
]Group 部落划分 Group
TimeLimit:10SecMemoryLimit:64MBSubmit:3661Solved:1755[Submit][Status][Discuss]Description聪聪研究发现,荒岛野人总是过着群居的生活,但是,并不是整个荒岛上的所有野人都属于同一个部落,野人们总是拉帮结派形成属于自己的部落,不同的部落之间则经常发生争斗。只是,这一切都成为谜团了——聪聪根本就不知道部落究竟是如何分布
anjiang8171
·
2020-07-14 07:12
洛谷 P4047 [
JSOI2010
]部落划分
这道题其实就是无线通讯网的双倍经验啦,只是在输出的时候不同罢了。还是一样的\(kruskal\)算法,但是在求的时候,应该在\(now=n-k+1\)的时候结束。本来到\(n-k\)就行了的,但是由于\(n-k+1\)这条边是在应该部落里面的,不能算,所以要找到第一个不在一个部落里面的边。代码:#includeusingnamespacestd;structnode{intl,r;doublew;
那一条变阻器
·
2020-06-26 16:00
[
Jsoi2010
]连通数
floyd+bitset传递闭包#include#includeusingnamespacestd;constintmaxn=2000+10;intn;bitsetdis[maxn];chars[maxn];intmain(){scanf("%d",&n);for(inti=1;i<=n;i++){scanf("%s",s+1);for(intj=1;j<=n;j++)if(s[j]=='1'||
我微笑不代表我快乐
·
2020-04-08 22:00
[
JSOI2010
]部落划分 最小生成树
链接https://www.luogu.com.cn/problem/P4047分析这题其实不是很难,当时我是蒙过的。。。。。我本来输出的建到总数减部落数的边的距离,后来发现样例不对,调试了一下发现加上一正好能过,于是就加了一,没想到A了。现在想想为什么要加一呢,其实很简单,构成k个部落,就是建出k个树,这样的话加入n-k条边就行,现在输出这条边的值是不行的,这条边是在同一个部落里边的,而要求的是
An_Fly
·
2020-03-12 09:00
[
JSOI2010
] 连通数 - 强连通分量,缩点
复习一下手工tarjan#includeusingnamespacestd;vectorg[2005],scc[2005];intind,f[2005],siz[2005],dfn[2005],low[2005],vis[2005],s[2005],bel[2005],top,tot,n,m,t1,t2,t3;charch[2005];voiddfs(intp){vis[p]=1;s[++top]
Mollnn
·
2020-02-06 16:00
[
JSOI2010
]旅行题解
题目链接图论+DP的一道题,可以贪心地发现,要使路径最短,把路径按长度从小到大排序后,肯定会把前\(fr\)条路径安排到走的路径上,每次交换也是将前\(fr\)条路径与\(fr\)后的路径交换,至于\(fr\)为多少我们可以枚举\(fr\),然后DP求出\(ans\)设\(f[i][j][k]\)表示从1走到\(i\),在前\(fr\)条路径上已经走过了\(j\)条,已经交换了\(k\)条路径所经
dz_ice
·
2020-01-30 16:00
洛谷 P4306 [
JSOI2010
]连通数 - 图论、统计
洛谷P4306[
JSOI2010
]连通数题目链接:洛谷P4306[
JSOI2010
]连通数算法标签:图论,统计题目题目描述度量一个有向图联通情况的一个指标是连通数,指图中可达顶点对个的个数。
筱柒_Littleseven
·
2019-11-13 18:00
[
JSOI2010
]连通数[tarjan缩点]
[
JSOI2010
]连通数bzoj2208luogu4306缩点完后用bitset来统计==按拓扑序来#includeusingnamespacestd;#defineMax(x,y)((x)>(y)?
委屈的咸鱼鱼鱼鱼
·
2019-09-20 08:00
BZOJ 1825: [
JSOI2010
]蔬菜庆典
传送门考虑一个非根非叶子节点如何无限大,显然只要任意两个儿子权值不同即可考虑到根节点不会变,所以只要对根节点每一个儿子子树分别处理,如果子树内任意一个节点有两个权值不同的儿子直接输出$+inf$考虑剩下的情况,子树如果是一颗普通树结构的话,那么每个节点都必须满足$val[fa]+val[son]=2val[self]$,不然$self$的权值就可以改变,然后整颗树就可以连锁反应导致两个儿子权值不同
LLTYYC
·
2019-08-23 15:00
P4171 [
JSOI2010
]满汉全席
传送门显然的$2-sat$问题,甚至不用输出方案每种菜不是汉式就是满式,分成两个节点$i,n+i$分别表示满式和汉式对于限制$m_i,m_j$,如果$i$为汉式则$j$一定要为满式,如果$j$为汉式$i$一定为满式所以连边$(n+i,j),(n+j,i)$其他情况同理,最后$Tarjan$缩一下联通块看看是否某一个联通块同时包含$i,n+i$即可#include#include#include#i
LLTYYC
·
2019-08-23 08:00
传递闭包学习
简单的代码实现可以用弗洛伊德实现,这样是$n^3$的例题bzoj22082208:[
Jsoi2010
]连通数TimeLimit:20SecMemoryLimit:512MBSubmit:4758Solv
.texas
·
2019-07-14 06:00
【bzoj2208】[
Jsoi2010
]连通数 floyd传递闭包
题解一道bitset优化floyd传递闭包裸题!代码#include#include#include#include#defineN2010usingnamespacestd;bitsetlnk[N];intn,ans;charch[N];intmain(){scanf("%d",&n);for(inti=1;i<=n;i++){scanf("%s",ch+1);for(intj=1;j<=n;j
Mininda
·
2018-08-31 22:44
bzoj
图论-floyd
bzoj 1821 [
JSOI2010
]Group 部落划分
Description聪聪研究发现,荒岛野人总是过着群居的生活,但是,并不是整个荒岛上的所有野人都属于同一个部落,野人们总是拉帮结派形成属于自己的部落,不同的部落之间则经常发生争斗。只是,这一切都成为谜团了——聪聪根本就不知道部落究竟是如何分布的。不过好消息是,聪聪得到了一份荒岛的地图。地图上标注了N个野人居住的地点(可以看作是平面上的坐标)。我们知道,同一个部落的野人总是生活在附近。我们把两个部
ACTY
·
2016-09-16 19:00
bzoj
bzoj 1823: [
JSOI2010
]满汉全席 2-SAT判定
题意:有m个评委,每个评委有两个要求,只要满足某个要求即可通过审核。问是否有一种方案能够通过所有评委审核。分析:把每个点分成x和x+n两个点。x表示汉式,x+n表示满式。设next(x)为x的另一种做法。若某个评委的要求为x、y则连边next(x)->y,next(y)->x。剩下的就是裸的2-SAT判定问题了。代码:var e,sum,tot,n,m,d:longint; stack,last,
qq_33229466
·
2016-04-09 07:00
bzoj 2208(强连通)
2208:[
Jsoi2010
]连通数TimeLimit: 20Sec MemoryLimit: 512MBSubmit: 2028 Solved: 855[Submit][Status][Discuss
M_AXSSI
·
2016-04-06 21:00
【BZOJ2208】[
Jsoi2010
]连通数【BFS/DFS】【SCC】
http://www.lydsy.com/JudgeOnline/problem.php?id=2208tarjan缩点然后dp。但是发现点数才2000...BFS可过。边数是n^2,不是n usingnamespacestd; constintmaxn=2005,maxq=10000; intn,head[maxn],cnt,vis[maxn],clo,q[maxq]; struct_e
BraketBN
·
2016-03-19 14:00
BZOJ1821 [
JSOI2010
] Group 部落划分 Group
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1821Description聪聪研究发现,荒岛野人总是过着群居的生活,但是,并不是整个荒岛上的所有野人都属于同一个部落,野人们总是拉帮结派形成属于自己的部落,不同的部落之间则经常发生争斗。只是,这一切都成为谜团了——聪聪根本就不知道部落究竟是如何分布的。不过好消息是,聪聪得到了一份荒岛的地图
ACMICPC
·
2016-03-02 18:00
【BZOJ 1821】 [
JSOI2010
]Group 部落划分 Group
Description聪聪研究发现,荒岛野人总是过着群居的生活,但是,并不是整个荒岛上的所有野人都属于同一个部落,野人们总是拉帮结派形成属于自己的部落,不同的部落之间则经常发生争斗。只是,这一切都成为谜团了——聪聪根本就不知道部落究竟是如何分布的。不过好消息是,聪聪得到了一份荒岛的地图。地图上标注了N个野人居住的地点(可以看作是平面上的坐标)。我们知道,同一个部落的野人总是生活在附近。我们把两个部
抬头仰望浮云飘过
·
2016-02-21 15:00
bzoj2208 [
Jsoi2010
]连通数
题目链接先是强连通分量缩点,然后出来一个DAG然后就可以DP啦,要找出每个SCC能到达的SCC有哪些如果直接存一个二维数组来传递闭包的话肯定会TLE对吧于是我们使用了神奇的bitset就快多了1#include 2#include 3#include 4#include 5#include 6#include 7#include 8#include 9#include 10#in
HugeGun
·
2016-02-01 20:00
1823: [
JSOI2010
]满汉全席 2-SAT
学了一发2-SAT,感觉还是比较好理解的。伍昱由对称性解2-sat问题(ppt)【研究总结】2-sat问题推荐这个ppt和这个blog。那么这道题就是一道裸题啦。把汉式料理和满式料理看做点,满足的条件是至少选一个,也就是每次读入u,v,要连边u’->v,v’->u,代表若不选u必选v,若不选v必选u。跑2-SAT就行了。#include #include #include usingnamespa
Phenix_2015
·
2016-01-13 11:00
bzoj(1823)(2-SAT)
1823:[
JSOI2010
]满汉全席TimeLimit: 10Sec MemoryLimit: 64MBSubmit: 1241 Solved: 596[Submit][Status][Discuss
M_AXSSI
·
2015-12-14 20:00
2208: [
Jsoi2010
]连通数
不会bitset,TAT(这都不会?数据结构白学了?),于是只好暴力水过了,水了12000多MS。。。。。。。。。醉了先留个坑,以后补上,目测是tarjan+topo+bitset#include #include #include usingnamespacestd; constintN=2000+5; structEdge{intto,next;}e[N*N]; inthead[N],ans,
nlj1999
·
2015-12-14 15:00
【BZOJ】1821: [
JSOI2010
]Group 部落划分 Group(最小生成树+贪心)
http://www.lydsy.com:808/JudgeOnline/problem.php?id=1821 这题裸题。 本题要求最短距离最长,很明显,我们排序。 这里存在贪心,即我们把边权最小的全分给n个部落的内部,然后剩下的边最小的就是答案。 将边权较小的边分给k个部落,用并查集生成最小树,使得内部的边总是小于连到外部的边。然后分剩下k个点即可,剩下的k个点的那条边一定是部落之
·
2015-11-13 11:02
group
BZOJ 1821: [
JSOI2010
]Group 部落划分 Group
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1821 给出n个野人的坐标,n个野人分别属于k个部落,现在问如何划分野人,使得每个部落之间的距离最小(部落之间的距离是部落中距离最近的两个野人的距离) 分析: 对于所有的距离排序,然后利用并查集合并即可 关键代码:(对于n==m时,特判。) fo
·
2015-11-13 05:53
group
BZOJ 1826: [
JSOI2010
]缓存交换
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1826 分析: 贪心+堆或者平衡树(以下统一称为树)。越在后面,切换他是最好的。。。 1.当已经在树上的时候,换掉之前已在树上的该主存块,换成当前主存块的下一个出现的位置。 2.当前可用的cache足够的时候,直接插入到树中。 3
·
2015-11-13 05:51
ZOJ
【
JSOI2010
】Group 部落划分 BZOJ 1821
1821: [
JSOI2010
]Group 部落划分 Group Time Limit: 10 Sec Memory Limit: 64 MB
·
2015-11-13 01:20
group
1822: [
JSOI2010
]Frozen Nova 冷冻波 二分最大流
1822: [
JSOI2010
]Frozen Nova 冷冻波 Time Limit: 10 Sec Memory Limit: 64 MB Submit
·
2015-11-13 00:15
nova
BZOJ1823: [
JSOI2010
]满汉全席
2-SAT… 1 /************************************************************** 2 Problem: 1823 3 User: zhuohan123 4 Language: C++ 5 Result: Accepted 6 Time:4 ms 7 Memo
·
2015-11-08 16:30
ZOJ
BZOJ1821: [
JSOI2010
]Group 部落划分
这题乍看很吓人,其实就是一个贪心。 每次取最近的两个点所在的块合并,直到只剩下k块,输出答案。 1 /************************************************************** 2 Problem: 1821 3 User: zhuohan123 4 Language: C++ 5 Resul
·
2015-11-08 16:21
group
BZOJ 2208: [
Jsoi2010
]连通数( DFS )
n只有2000,直接DFS就可以过了... -------------------------------------------------------------------------- #include<cstdio> #include<cstring> #include<algorithm> #include<iostream
·
2015-11-02 12:28
DFS
2208: [
Jsoi2010
]连通数 - BZOJ
Description Input 输入数据第一行是图顶点的数量,一个正整数N。 接下来N行,每行N个字符。第i行第j列的1表示顶点i到j有边,0则表示无边。 Output 输出一行一个整数,表示该图的连通数。 Sample Input 3 010 001 100 Sample Output 9HINT 对于100%的数据,N不超过2000。
·
2015-11-01 14:04
ZOJ
BZOJ 2208 [
Jsoi2010
]连通数 tarjan缩点+bitset优化DP
题意:链接方法:tarjan缩点+bitset优化DP?解析:大爷教bitset找的题=.=;缩点是肯定的啦之后怎么搞呢?可以写个O(n^3)的小暴力。先来想这个暴力怎么写,缩完点之后重构这个图,然后维护个连通性,即某个连通块能否到另一个连通块,如果能到,则对答案的贡献是两个连通块的大小的乘积,这很显然,每个连通块内部又可以任意选出两点成为连通对,即c[x,2]*2,x为块的大小,题中又说某个点与
wzq_QwQ
·
2015-07-30 19:00
c
bitset
方法
解析
图
【BZOJ 2208】 [
Jsoi2010
]连通数
2208:[
Jsoi2010
]连通数TimeLimit: 20Sec MemoryLimit: 512MBSubmit: 1431 Solved: 585[Submit][Status][Discuss
Regina8023
·
2015-04-02 14:00
拓扑排序
状态压缩
OI
bzoj
tarjan缩点
【BZOJ 1821】 [
JSOI2010
]Group 部落划分 Group
1821:[
JSOI2010
]Group部落划分GroupTimeLimit: 10Sec MemoryLimit: 64MBSubmit: 1353 Solved: 650[Submit][Status
Regina8023
·
2015-03-13 20:00
二分
kruscal
OI
bzoj
BZOJ 1821
JSOI2010
部落划分 Group Kruskal
题目大意:给定平面上的n个点,要求将这n个点划分为k个集合,使划分后任意两个集合中最近两点的距离的最大值最小,输出这个最小值考虑这n个点之间所有的连边我们要让长边保留就尽量选取短边链接于是就是求加入n-k条边的最小生成森林由于输出下一个最小值因此Kruskal加入第n-k+1条边时输出边权即可#include #include #include #include #include #include
PoPoQQQ
·
2014-12-30 19:00
kruskal
bzoj
BZOJ1821
【BZOJ1822】【
JSOI2010
】Frozen Nova 冷冻波
题解:二分答案,然后网络流check。注意:理论上来讲,因为如果有 ----------- / \ / \巫妖----小精灵----------------树桩------- \ / \ / \-----------
Vmurder
·
2014-12-22 17:00
BZOJ1822
JSOI2010
【BZOJ 1823】 [
JSOI2010
]满汉全席
1823:[
JSOI2010
]满汉全席TimeLimit: 10Sec MemoryLimit: 64MBSubmit: 855 Solved: 408[Submit][Status]Description
Regina8023
·
2014-12-19 14:00
2-sat
OI
bzoj
【BZOJ1821】【
JSOI2010
】Group 部落划分 Group (两个group什么意思
首先我们可以考虑到二分答案+贪心。每次check把一切边权小于mid的点对合并到一个并查集里面。然后分析这个的正确性,发现每当mid变大,那么部落数就会减少,而且是单调的。但是有了这个作为基础。我们就可以延展到迭代的思想上,,然后……然后考虑到如果各为部落,那么答案一定是所有的边中最小的边,而此时我们如果要合并某些部落,就会导致一些边被删除(注意:合并两个部落,那么被删除的边不一定只有这俩部落的连
Vmurder
·
2014-12-18 08:00
最小生成树
贪心
BZOJ1821
部落划分
JSOI2010
【BZOJ1820】【
JSOI2010
】Express Service 快递服务 暴力DP
题解:首先思考f[l][i][j][k],表示序列第l次,三个司机分别在i,j,k点时的最小花费然后显然i、j、k的顺序无关紧要。。然后显然i、j、k中有一个在序列第l项代表的位置。然后我们可以缩掉一维设序列第l项为to[l],则状态变成f[i][j][k]表示三个司机分别在to[i],j,k。因为顺序无关紧要,所以我们还可以定义j恒, #include #include #defineN1050
Vmurder
·
2014-12-17 16:00
水题
BZOJ1820
【BZOJ】【P1826&P1528】【
JSOI2010
】【缓存交换】【题解】【堆+贪心】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1826http://www.lydsy.com/JudgeOnline/problem.php?id=1528结论:每次删掉距离下次使用最远的元素最优证明待填坑Code:#include usingnamespacestd; constintmaxn=1e5+5; typedefpairpii
u012732945
·
2014-10-30 21:00
bzoj
上一页
1
2
下一页
按字母分类:
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
其他