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
SDOI2013
【
SDOI2013
necklace】项链
Description(JZOJ3298)有一个n颗珠子组成的项链每颗珠子有3个面,可以写3个数字,数字的范围(0,a],两颗珠子是相同的当且仅当他们可以通过旋转变成一样每颗珠子上的三个数的最大公约数必须等于1相邻两颗珠子必须不同如果两串项链可以通过旋转变成一样的,我们认为这两串项链相同。给定n和a,求有多少不同的项链?答案对1000000007取模。DataConstraint对于10的数据:n
ChrysanthemumZhao
·
2016-02-22 21:44
题解
【
SDOI2013
necklace】项链
Description(JZOJ3298)有一个n颗珠子组成的项链每颗珠子有3个面,可以写3个数字,数字的范围(0,a],两颗珠子是相同的当且仅当他们可以通过旋转变成一样每颗珠子上的三个数的最大公约数必须等于1相邻两颗珠子必须不同如果两串项链可以通过旋转变成一样的,我们认为这两串项链相同。给定n和a,求有多少不同的项链?答案对1000000007取模。DataConstraint对于10的数据:n
ChrysanthemumZhao
·
2016-02-22 21:00
Math
BZOJ 3123: [
Sdoi2013
]森林|主席树|启发式合并
做法和2588一模一样,只不过多了个合并操作,所谓的启发式合并,就是永远都把小的往大的上合并,然后合并的时候暴力就行了.因为查询的时候忘记减去左区间的数量,RE的根本停不下来….#include #include #include #include #include #include #include #include #include #include #definellunsignedlong
ws_yzy
·
2016-02-20 14:00
主席树
Burnside引理
至于证明,嘿嘿嘿我不会一个例子详见
SDOI2013
项链,现在我们需要求珠子的种类数。假若我们求出三元组数量为ans3,二元组数
WerKeyTom_FTD
·
2016-02-18 21:00
【
SDOI2013
】【BZOJ3197】assassin
DescriptionInputOutputSampleInput412233400111000SampleOutput1HINT暑假时候高大哥出来考试的题丢题解跑gty大哥的题解#include #include #include #include #include #include #defineMAXN710 #defineGET(ch>='0'&&cha.deep;} booloperat
CreationAugust
·
2016-02-17 14:00
dp
hash
费用流
树同构
BZOJ3122: [
Sdoi2013
]随机数生成器
BSGS原来就是SB暴力。。。日了狗了#include #include #include #include #include usingnamespacestd; #definelllonglong llex_gcd(ll&x,ll&y,lla,llb) { if(b==0){x=1;y=0;returna;} llc=ex_gcd(x,y,b,a%b),tp=x; x=y;y=tp-a/b*y
liutian429073576
·
2016-02-17 13:00
[bzoj3203][
Sdoi2013
]保护出题人
人生第一道三分?。。。把进攻序列里的前i只僵尸看成一个点,横坐标是第i只僵尸到达的时间,纵坐标是这i只僵尸的血量总和。。就是说植物必须在这段时间内输出这些伤害。。那么单位时间的输出伤害就是斜率了。问题就变成了对于若干个点,求从原点到各个点斜率的最大值。因为D是固定的,而每次新加入僵尸实际就是把原来的点平移。。并且相对位置关系不变。。。所以显然斜率最大的点一定在凸包上==每次就新加入一个点并维护凸包
czllgzmzl
·
2016-02-08 15:00
BZOJ3124: [
Sdoi2013
]直径
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3124首先第一问直接求直径就可以了。然后对于第二问,因为直径一定过树的重心,于是可以把重心找出来。如果是菊花图的话,那就输出0。。如果不是菊花图,对于很多条直径的两个端点,一定可以把它们分成两个点集使得每个点到对面点集的任一个点的路径都是直径。。于是这两个点集分别求lca,两个lca之间的距离就
ctlchild
·
2016-01-26 14:00
BZOJ3130: [
Sdoi2013
]费用流
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3130B要费用最高,那他只要把费用都加在流量最多的那条边上就可以了。于是题目转化为求最大流中最大边最小。二分,然后流量是要实数的。。(似乎精度要求并不高。。#include #include #include #include #include #include #definerep
ctlchild
·
2016-01-22 13:00
[bzoj3129][
SDOI2013
]方程
题目大意现有N个未知数X1..N,已知这N个未知数之和为M。现有n1个不等式,第i个不等式为Xi=Gi。求方程的正整数解个数,结果模P。若P=p1c1∗p2c2∗...∗ptopctop则最大的pici=Gi,我们可以在对应箱子放Gi-1个球,则无论如何分配,一定能满足这个约束。因此先令M=M-∑n2i=1Gi−1如何对付第一种约束?容斥原理我们发现,我们可以使用容斥原理来解决。不满足第i个约束,
WerKeyTom_FTD
·
2015-12-02 20:00
bzo j3122: [
Sdoi2013
]随机数生成器
这道题不难想,难的是分类讨论。先是最一般的情况推出公式套用bsgs。这个要求答案>1且a!=1(等比数列的分类讨论)且a!=0(0没有逆元)所以第一种情况a!=1a!=0ans=1第二种情况a!=1a!=0ans!=1如果a=1,第一种情况ans=1第二种情况ans!=1b=0(0没有逆元)第三种情况ans!=1b!=0如果a=0,a1=t则ans=1 否则b=tans=2否则无解。共8种情况。#
heheda_is_an_OIer
·
2015-11-28 22:00
数论
分类讨论
BSGS
【
SDOI2013
】【BZOJ3203】保护出题人
DescriptionInput第一行两个空格隔开的正整数n和d,分别表示关数和相邻僵尸间的距离。接下来n行每行两个空格隔开的正整数,第i+1行为Ai和Xi,分别表示相比上一关在僵尸队列排头增加血量为Ai点的僵尸,排头僵尸从距离房子Xi米处开始接近。Output一个数,n关植物攻击力的最小总和,保留到整数。SampleInput5233111084823SampleOutput7HINT第一关:距
CreationAugust
·
2015-11-22 15:22
随便搞搞
【bzoj3123】 [
Sdoi2013
]森林
被教做人啦T_T维护树上的主席树。查询u,v,那么对应的当前版本是u,v,前驱版本是lca(u,v),fa[lca(u,v)]。连u,v,因为保证是一棵树,于是启发式暴力合并,每次重新建主席树。时间复杂度O(Tlog2n)。几个要注意的地方。第一个读入的testcases是逗你玩的尼玛倍增数组范围小的要放后面,唔这是常识然而为了代码少写几B居然就把它放前面去了。。。T了一晚上真是爽。。。#incl
GEOTCBRL
·
2015-11-20 23:00
【BZOJ】3203: [
Sdoi2013
]保护出题人(几何+三分+特殊的技巧)
http://www.lydsy.com/JudgeOnline/problem.php?id=3203 wa无数次QAQ,犯sb错。。。。一是数组没有引用。。。二是输出转成了int(越界了sad)。。三是叉积的顺序忘记了(cross(v, w)>0的话说明v在下边啊。。。。)。。。sad。。然后提交无数次。wa了无数次。。QAQ 还有这题的思想真巧妙。。 首先看题我们得得到一个公式。
·
2015-11-13 11:31
ZOJ
【
sdoi2013
】森林 BZOJ 3123
Input 第一行包含一个正整数testcase,表示当前测试数据的测试点编号。保证1≤testcase≤20。 第二行包含三个整数N,M,T,分别表示节点数、初始边数、操作数。第三行包含N个非负整数表示 N个节点上的权值。 接下来 M行,每行包含两个整数x和 y,表示初始的时候,点x和点y 之间有一条无向边, 接下来 T行,
·
2015-11-12 22:42
ZOJ
BZOJ 3124 [
Sdoi2013
]直径 DFS
题意:给定一棵树,求直径长度以及所有直径经过的边的个数。解析:第一问SB题,上树形DP或者任意挑选一个点,搜离他最远的点,再从该点搜离该点最远的点都可以。我选择了后者。因为第二问可以用到。首先被所有直径都经过的边一定在一条直径上,且一定是连续的。所以我们拿第一问随便搜出来的一条直径,扫描其上的所有点。对于每一个点,我们搜离该点最远的点,并且不能够经过我们搜出来的这条直径。那么如果这段距离等于该点到
wzq_QwQ
·
2015-10-30 07:00
dp
DFS
bzoj
BZOJ 3123 [
Sdoi2013
]森林 主席树+启发式合并
题意:给定一个森林。两种操作。第一种连边,保证连完之后还是一个森林。第二种询问u到v路径上的第k小点权,保证u,v连通。解析:如果没有一操作,那么就是一个COT。只需要考虑连边怎么办就行了。我们可以考虑启发式合并。每一次合并的时候把小的暴力重构。这样最多重构logn次,每一次重构的复杂度在O(nlogn)。所以复杂度O(n*log^2(n)).代码:#include #include #inclu
wzq_QwQ
·
2015-10-29 20:00
代码
操作
合并
BZOJ 3124 [
Sdoi2013
] 直径(树形DP)
题目大意 小 Q 最近学习了一些图论知识。根据课本,有如下定义。树:无回路且连通的无向图,每条边都有正整数的权值来表示其长度。如果一棵树有 N 个节点,可以证明其有且仅有 N-1 条边。路径:一棵树上,任意两个节点之间最多有一条简单路径。我们用 dis(a, b) 表示点 a 和点 b 的路径上各边长度之和。称 dis(a,b) 为 a、b 两
·
2015-10-27 12:45
ZOJ
BZOJ 3129 [
Sdoi2013
]方程 不定方程解的个数+组合数取模
题意:链接方法:不定方程解的个数+组合数取模解析:先看n1与n2的部分的限制。对于后半部分的限制来说,我们直接减去An1+i−1就可以转化一下求正整数解。但是前半部分呢?跟上一道猴子那个很像。所以我们容斥搞就行了。但是这道题好像不好写的地方不在这?这题TMD不就是礼物吗!大组合数取模如何取?请参见我《BZOJ礼物》的题解。另外吐槽题干明明是X1+X2+…+Xn=m并不是小于等于代码:#includ
wzq_QwQ
·
2015-08-27 09:00
BZOJ 3122 [
Sdoi2013
]随机数生成器 BSGS
题意:链接方法:BSGS解析:首先他给出了你数列在modp意义下的递推式。所以我们可以求出来通项。Xn+1+k=a∗(Xn+k)所以b=(a−1)∗k则我们可以解出来k那么这个数列的通项是什么呢?Xn=an−1∗(X1+k)−k题中给定Xn求出n就行了。所以只需要移项就好了。这里有个问题,此时我们的通项公式是不包含首项的,所以需要特判首项,另外还有第一项以外为常数项的时候。代码:#include
wzq_QwQ
·
2015-08-20 17:00
X
BZOJ 3203
Sdoi2013
保护出题人 凸包+三分
题目大意:太长自己看令sumi表示第i个僵尸以及之前的僵尸的体力总和,disi表示第i个僵尸与房屋的初始距离我们发现我们能消灭一个僵尸当且仅当y>=sumidisi那么我们要求的显然就是max{sumidisi}我们将一个僵尸抽象成一个点sumidisi,那么我们发现每个回合僵尸之间的相对位置是不变的因此我们可以维护一个凸包,三分即可#include #include #include #incl
PoPoQQQ
·
2015-06-10 11:00
凸包
三分
bzoj
BZOJ3203
BZOJ3124 [
sdoi2013
]直径(树上的dfs)
树上的DFS【题解】1.给你一棵树,求树的直径:先随便取一个点,一遍dfs找到离它最远的点low,再以low为起点做一遍dfs,找到离low最远的点high那么low到high的距离即为直径(反证法可以证明)2.求出有多少条边在这棵树的所有直径上:两个结论:1)首先,这些边一定在同一条直径上(因为它们在任意一条直径上)2)其次,它们一定是连续的(画图,用反证法),由此我们可以限定答案边的范围因此,
cjk_cjk
·
2015-02-02 18:25
图的DFS
BZOJ3124 [
sdoi2013
]直径(树上的dfs)
树上的DFS【题解】1.给你一棵树,求树的直径: 先随便取一个点,一遍dfs找到离它最远的点low,再以low为起点做一遍dfs,找到离low最远的点high 那么low到high的距离即为直径(反证法可以证明) 2.求出有多少条边在这棵树的所有直径上: 两个结论: 1)首先,这些边一定在同一条直径上(因为它们在任意一条直径上) 2)其次,它们一定是连续的(画图,用反证法),由此我们可
cjk_cjk
·
2015-02-02 18:00
图论
DFS
bzoj
BZOJ 3198
Sdoi2013
spring Hash+容斥原理
题目大意:给定n个元素,每个元素是一个六元组,求有多少对元素满足相同的位置恰好有k个首先对于恰好有K个这种东西果断考虑容斥原理我们2^6枚举相同的位置恰好有k个元素相同的对数=至少有k个位置相同的对数-至少有k+1个位置相同的对数+至少有k+2个位置相同的对数……但是我们计数时会发现一些问题比如下面这组样例显然是0:23123455123466但是这一对元素被加了C(4,3)次,只被减掉了C(4,
PoPoQQQ
·
2015-01-28 18:00
hash
容斥原理
bzoj
BZOJ3198
BZOJ 3197
Sdoi2013
assassin 动态规划+树同构+费用流
题目大意:给定一棵树和两组权值,求第一组权值最少改变多少个之后这棵树经过重标号之后与第二组权值相同这个题做法很神--首先和3162一样的处理方式我们先找到这棵树的重心作为根如果重心有两个就新建一个根连向这两个重心令f[x][y]表示x所在子树的第一组权值和y所在子树的第二组权值匹配的最小花销转移的必要条件是x所在的子树与y所在的子树同构且x与y深度相同为了保证无后效性,x的所有子节点与y的所有子节
PoPoQQQ
·
2015-01-27 23:00
动态规划
hash
费用流
bzoj
BZOJ3197
【BZOJ】【P3203】【
Sdoi2013
】【保护出题人】【题解】【凸包+三分】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3203iwtwiioi的题解,简要说明一点,“前边所有僵尸的”是指在编号的前边,即相对位置的后面而且……此题答案可能非常大,输出的时候要学出题人printf("%.0lf\n",ans);而不能是cout #include #include usingnamespacestd; constin
u012732945
·
2014-10-13 17:00
bzoj
bzoj 3198: [
Sdoi2013
]spring 题解
【原题】3198:[
Sdoi2013
]springTimeLimit: 40Sec MemoryLimit: 256MBSubmit: 253 Solved: 95DescriptionInputOutputSampleInput33123456123000000456SampleOutput2HINT
u013724185
·
2014-05-19 21:00
题解
哈希
bzoj
容斥
【
SDOI2013
】【BZOJ】【P3122】【随机数生成器】【Baby Step Giant Step】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3122题解:把数列化简:x[i+1]=ax[i]+b(modp)==>x[i+1]+b/(a-1)=a(x[i]+b/(a-1))](modp)==>x[t]+b/(a-1)=a^(t-1)(x1+b/(a-1))(modp)==>(x[t]+b*inv(a-1))*inv(x1+b*inv(
u012732945
·
2014-02-09 21:00
bzoj
BZOJ 3122([
Sdoi2013
]随机数生成器-同余方程+负数逆元)
3122:[
Sdoi2013
]随机数生成器TimeLimit: 10Sec MemoryLimit: 256MBSubmit: 258 Solved: 130[Submit][Status]DescriptionInput
nike0good
·
2013-06-26 17:00
[
Sdoi2013
]城市规划
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3204解法:题目有个条件,就是m #include #include #include #include #include usingnamespacestd; constintmaxn=100003; structnode { intsum,u[7],d[7]; boolavld[7],a
SSOI_HTA
·
2013-05-30 14:00
[
Sdoi2013
]保护出题人
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3203解法:本题读完题目,我们可以很快知道,对于第i轮,yi的最小值就是max(sum[i]-sum[j-1])/(xi+(i-j)*d),1kPQ4>kPQ5。。是不是很显然然后我们三分就好了。就可以算出最大斜率了。代码:(这是BZOJ上目前rank1的)/****************
SSOI_HTA
·
2013-05-30 14:00
[
Sdoi2013
]项链
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3202解法:读完题目,很明显我们有两个任务:(1)计算符合提交的颜色数目;(2)计算有m种颜色,长度为n相邻两个颜色不相同的本质不同项链数目(旋转相同被认为是本质相同。)Part1:我们设c2,c3分别为gcd=1的有序整数对以及有序三元组的数目。那么我们可以得出答案即为m=(c3-(c2-
SSOI_HTA
·
2013-05-30 14:00
[
Sdoi2013
]spring
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3198题意不赘述了,很好懂吧。。这题应该算是送分题了。解法大概就是容斥+哈希。具体来说,就是2^6枚举至少对应位相同的方案,假如枚举了101100,表示至少第1,2,4相同的方案,设其中1的个数为m。那么对答案的贡献就是(-1)^(k-m)*方案数*C(k,m),这其实就是容斥。现在的问题是
SSOI_HTA
·
2013-05-28 18:00
[
Sdoi2013
]assassin
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3197题解:本题是给定两棵树,每个节点给定初始黑白染色,问在某颗树上最少改变染色次数,使得两数同构(黑白要对应)。解法:其实如果做过树同构,很容易想到,枚举T2中的节点i为根,与T1的1对应,使两树同构的最小代价。于是我们可以设状态f[a][b]表示T1中以a为根的子树与T2中以b为根的子树
SSOI_HTA
·
2013-05-28 18: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
其他