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
SDOI2016
手工栈替代品——非递归dfsの板子
生怕选手做出题来系列SD的小辣鸡ATP已经在
SDOI2016
的时候被破烂系统栈坑过一回了。。
FromATP
·
2017-03-10 15:34
板子们
4598: [
Sdoi2016
]模式字符串
4598:[
Sdoi2016
]模式字符串TimeLimit:10SecMemoryLimit:128MBSubmit:80Solved:37[Submit][Status][Discuss]Description
CRZbulabula
·
2016-12-20 09:38
hash
点分治
bzoj 4515: [
Sdoi2016
]游戏(树链剖分+线段树)
4515:[
Sdoi2016
]游戏TimeLimit:40SecMemoryLimit:256MBSubmit:417Solved:185[Submit][Status][Discuss]DescriptionAlice
clover_hxy
·
2016-10-18 19:32
线段树
树链剖分
4515: [
Sdoi2016
]游戏
4515:[
Sdoi2016
]游戏TimeLimit:40SecMemoryLimit:256MBSubmit:396Solved:178[Submit][Status][Discuss]DescriptionAlice
CRZbulabula
·
2016-08-18 20:02
线段树
树链剖分
李超树
[bzoj4600][
SDOI2016
]硬币游戏
4600:[
Sdoi2016
]硬币游戏TimeLimit:10SecMemoryLimit:128MBSubmit:7Solved:5[Submit][Status][Discuss]首先我们可以发现,
FZHvampire
·
2016-05-20 17:25
sg
bzoj4518【
SDOI2016
】征途
4518:[
Sdoi2016
]征途TimeLimit: 10Sec MemoryLimit: 256MBSubmit: 452 Solved: 295[Submit][Status][Discuss
AaronGZK
·
2016-05-11 23:00
bzoj
斜率优化DP
bzoj4516【
SDOI2016
】生成魔咒
4516:[
Sdoi2016
]生成魔咒TimeLimit: 10Sec MemoryLimit: 128MBSubmit: 376 Solved: 232[Submit][Status][Discuss
AaronPolaris
·
2016-05-11 23:00
后缀数组
后缀自动机
OIer的狂欢
bzoj4516【
SDOI2016
】生成魔咒
4516:[
Sdoi2016
]生成魔咒TimeLimit: 10Sec MemoryLimit: 128MBSubmit: 376 Solved: 232[Submit][Status][Discuss
AaronGZK
·
2016-05-11 23:00
后缀数组
后缀自动机
bzoj
bzoj4515【
SDOI2016
】游戏
4515:[
Sdoi2016
]游戏TimeLimit:40SecMemoryLimit:256MBSubmit:290Solved:124[Submit][Status][Discuss]DescriptionAlice
AaronPolaris
·
2016-05-11 23:11
线段树
树链剖分
OIer的狂欢
bzoj4515【
SDOI2016
】游戏
4515:[
Sdoi2016
]游戏TimeLimit: 40Sec MemoryLimit: 256MBSubmit: 290 Solved: 124[Submit][Status][Discuss
AaronGZK
·
2016-05-11 23:00
线段树
树链剖分
bzoj
标记永久化
bzoj4513【
SDOI2016
】储能表
4513:[
Sdoi2016
]储能表TimeLimit: 10Sec MemoryLimit: 128MBSubmit: 340 Solved: 182[Submit][Status][Discuss
AaronGZK
·
2016-05-11 23:00
数位dp
bzoj
bzoj4517【
SDOI2016
】排列计数
4517:[
Sdoi2016
]排列计数TimeLimit: 60Sec MemoryLimit: 128MBSubmit: 576 Solved: 358[Submit][Status][Discuss
AaronGZK
·
2016-05-11 00:00
bzoj
组合数取模
错排
bzoj4517【
SDOI2016
】排列计数
4517:[
Sdoi2016
]排列计数TimeLimit: 60Sec MemoryLimit: 128MBSubmit: 576 Solved: 358[Submit][Status][Discuss
AaronGZK
·
2016-05-11 00:00
bzoj
组合数取模
错排
bzoj4514【
SDOI2016
】数字配对
4514:[
Sdoi2016
]数字配对TimeLimit: 10Sec MemoryLimit: 128MBSubmit: 730 Solved: 311[Submit][Status][Discuss
AaronGZK
·
2016-05-11 00:00
费用流
bzoj
bzoj4514【
SDOI2016
】数字配对
4514:[
Sdoi2016
]数字配对TimeLimit: 10Sec MemoryLimit: 128MBSubmit: 730 Solved: 311[Submit][Status][Discuss
AaronGZK
·
2016-05-11 00:00
费用流
bzoj
【bzoj4513】[
Sdoi2016
]储能表 数位dp
我真TM是个sb!!!f[i][0/1][0/1][0/1]表示考虑到第i位前i位是否卡n的上界,是否卡m的上界,是否卡k的下界的数对的个数g[i][0/1][0/1][0/1]表示考虑到第i位前i位是否卡n的上界,是否卡m的上界,是否卡k的下界的数对的和直接dp#include #include #include #include #include #include usingnamespac
u012288458
·
2016-05-09 22:00
[BZOJ4517][
Sdoi2016
]排列计数(错排+组合数)
题目描述传送门题解首先i个数的错排递推式为:f[n]=(n-1)*(f[n-1]+f[n-2])可以理解为将n个信装到n个信封里,全部装错。那么:1、将信1装在信封k里2、若①将信k装在信封1里,那么方案数为f[n-2]②将信k不装在信封1里,那么这时方案数为f[n-1]3、k有n-1种取值那么这道题的答案即为Cmnf[n−m]求C的时候预处理阶乘然后求逆元。代码#include #include
Clove_unique
·
2016-05-02 23:00
数论
bzoj
SDOI
bzoj 4517: [
Sdoi2016
]排列计数
4517:[
Sdoi2016
]排列计数TimeLimit: 60Sec MemoryLimit: 128MBSubmit: 496 Solved: 298[Submit][Status][Discuss
clover_hxy
·
2016-05-02 22:00
BZOJ4514 [
Sdoi2016
]数字配对
把每个点拆成两个分别在左右两边,只要两两之间能发生关系就在左右之间连边,容量为无穷,费用为代价,源连左边每个点容量为数量,费用0,右边每个点连汇容量为数量,费用为零,跑费用流,流到费用为非负的极限,最小费用最大流贪心流是正确的,非负费用最大流贪心流也一定是正确的#include #include #include #include #include #include #include #inclu
neither_nor
·
2016-04-30 13:00
BZOJ4516 [
Sdoi2016
]生成魔咒
后缀自动机裸题,建的时候直接用max维护一下本质不同子串数量即可置于为什么在新建nq节点的时候不需要更新ans,因为写一下会发现nq,q,fa[q]的mx都被加了一次又减了一次,抵消了#include #include #include #include #include #include #include #include #include #include #include #include
neither_nor
·
2016-04-30 13:00
BZOJ4517 [
Sdoi2016
]排列计数
序列里任意m个数稳定都是等价的,考虑不稳定的那几个就是裸错排所以错排*组合数即可f[n-m]*C(m,n)为什么今年省选都这么喜欢错排?错排递推试可以看这里#include #include #include #include #include #include #include #include #include #include #include #include #include #incl
neither_nor
·
2016-04-30 13:00
BZOJ4518 [
Sdoi2016
]征途
裸斜率优化#include #include #include #include #include #include #include #include #include #include #include #include #include #include usingnamespacestd; #defineMAXN3010 #defineMAXM10010 #defineINF1000000
neither_nor
·
2016-04-30 13:00
【BZOJ4519】【
Sdoi2016
】游戏 线段树
第一次接触到这么神奇的线段树。首先树的形态不改变所以数链剖分+线段树建树。对于线段树上的每一个点,我们保证其最多保存一条直线,如果存在第二条直线,那么两条直线“占据空间”较小的一个一定可以下传到它的某个儿子,而这个节点只存占据空间较大的一个即可。查询的时候要用到永久化(好像是叫这个奇怪的名字)思想,一边向下查一边比较存放在当前节点的直线能否更新最小值。 /*********************
qq_34637390
·
2016-04-28 21:00
[bzoj4514][
SDOI2016
]数字配对
题目大意有n种数字,第i种数字是ai、有bi个,权值是ci。若两个数字ai、aj满足,ai是aj的倍数,且ai/aj是一个质数,那么这两个数字可以配对,并获得ci×cj的价值。一个数字只能参与一次配对,可以不参与配对。在获得的价值总和不小于0的前提下,求最多进行多少次配对。二分图!我们来考虑配对条件:如果记f(x)表示x分解质因数后的项数(注意4=2*2所以f(4)=2,也就是说这里指的是分成若干
WerKeyTom_FTD
·
2016-04-28 20:00
[bzoj4513][
SDOI2016
]储能表
题目大意求∑n−1i=0∑m−1j=0max(i xor j−p,0)数位DP首先先把n和m都减一。接着分解成二进制。设f[i][s1][s2][s3][s4]表示做到第i位,此时有多少二元组(a,b)满足以下条件:s1=0,目前a已经小于n。s1=1,目前a等于n。s2=0,目前b已经小于m。s2=1,目前b等于m。s3=0,目前a^b已经大于p。s3=1,目前a^b等于p。然后s4=0表示符合
WerKeyTom_FTD
·
2016-04-28 20:00
【BZOJ4513】【
Sdoi2016
】储能表
听说标解是个神数位DP什么的。。。讲道理我是辣鸡我不会。所以说异或运算真的是个神奇的东西,打一张表出来仿佛各处都藏着奇葩的规律,因为有k的限制,所以我们的目的是将整个序列化成若干个等差序列的和,并且每个等差序列从k处断开(因为负数不计入计算),不难发现存在很多个长边为(2^i),短边小于等于长边的矩形,其中每一条长边都是一个打散的等差数列,我们每次从子矩形中拿出最大的一个,计算一个再乘以一共有几条
qq_34637390
·
2016-04-27 21:00
BZOJ 4517: [
Sdoi2016
]排列计数 错排公式
4517:[
Sdoi2016
]排列计数题目连接:http://www.lydsy.com/JudgeOnline/problem.php?
qscqesze
·
2016-04-27 19:00
【BZOJ4516】【
Sdoi2016
】生成魔咒 后缀数组 线段树
ZJOI2015陈老师幻想乡的简化(阉割)版,所以可以不用Trie上后缀自动机那么高大上的东西。。。首先不难想象出O(n^4)以及O(n^2)的做法,一种是每穷举一个字串再暴力检查是否已经出现,一种是在第一种的基础上Hash优化。这两种都没有什么卵用我们就不提了。首先我们将数字串反向读入,那么每一个加入的前缀对应反串的一个后缀,我们每加入一个字母,相当于有该字母开始的后缀和目前已经加入的后缀的最大
qq_34637390
·
2016-04-26 19:00
【BZOJ4517】【
Sdoi2016
】排列计数 线性逆元 错位排列
首先真诚地感谢BZ某大神为我们解锁正确的备考姿势。一语惊醒梦中人。回到题目。。。不难看出一答案ans=D[n-m]*C(m,n);,其中D是错位排序数,也就是n个数全排列中,满足ai!=i的排列的个数,具体证明涉及到容斥原理。存在递推公式。为了计算C,我们可以将n!modp以及(n!)^-1modp全部预处理出来,两个操作均存在线性递推。然后答案就可以在O(1)内求解了。。。#include #
qq_34637390
·
2016-04-25 23:00
SDOI2016
R1 day2 T3 征途 斜率优化DP
我们写出式子fi,j=fk,j-1+(si-sk)^2,然后固定一个j,哗哗就出来了又是今天的T3,然而傻逼到不会写写了个错的70分滚粗那么傻逼的题都只有230,这是滚大粗的节奏啊/************************************************ Author:BPM136 CreatedTime:2016-4-2510:20:53 FileName:C.cpp *
BPM136
·
2016-04-25 22:00
动态规划
斜率优化
SDOI2016
R1 day2 T2 排列计数 数论
今年sdoi一改风格全是傻逼题,居然变成了今天的T2答案显然是Cn,m*f【n-m】,f表示错排的答案。显然我们需要计算逆元,错排,和阶乘都预处理出来就艹过去了然而考试的时候傻逼写了cout,T成60暴力分,直接rank10去了/************************************************ Author:BPM136 CreatedTime:2016-4-258
BPM136
·
2016-04-25 22:00
数论
bzoj 4518: [
Sdoi2016
]征途(斜率优化)
4518:[
Sdoi2016
]征途TimeLimit:10SecMemoryLimit:256MBSubmit:333Solved:222[Submit][Status][Discuss]DescriptionPine
clover_hxy
·
2016-04-25 21:20
动态规划
bzoj 4518: [
Sdoi2016
]征途(斜率优化)
4518:[
Sdoi2016
]征途TimeLimit: 10Sec MemoryLimit: 256MBSubmit: 333 Solved: 222[Submit][Status][Discuss
clover_hxy
·
2016-04-25 21:00
[Contest]
Sdoi2016
题目汇总
把最近做的sdoi汇总一下按做的顺序排好了排列计数:组合错排————————————线割分是我>wwwww<———————————————– 储能表:数位DP找规律
u014609452
·
2016-04-23 10:00
[二分图 费用流] BZOJ 4514 [
Sdoi2016
]数字配对
不会有奇环,那么就建二分图然后跑最大费用流,直到费用小于零为止,处理下零头#include #include #include #include #definecl(x)memset(x,0,sizeof(x)) #defineoo1LL='0'&&c='0'&&c<='9';x=x*10+c-'0',c=nc());x*=b; } constintN=205; structedge{ int
u014609452
·
2016-04-23 10:00
[斜率优化 DP] BZOJ 4518 [
Sdoi2016
]征途
就是求平方和的最小值然后就是裸的斜率优化了#include #include #include usingnamespacestd; typedeflonglongll; inlinecharnc() { staticcharbuf[100000],*p1=buf,*p2=buf; if(p1==p2){p2=(p1=buf)+fread(buf,1,100000,stdin);if(p1==p
u014609452
·
2016-04-23 10:00
[找规律 递归子问题 || 数位DP] BZOJ 4513 [
Sdoi2016
]储能表
看不懂数位DP,蒟蒻就是蒟蒻:http://fancypei.github.io/2016/04/16/
SDOI2016
%20Round1/然后ZZYGoogle到了一个神奇的做法,很happy:https
u014609452
·
2016-04-23 09:00
[BZOJ4518][
Sdoi2016
]征途(斜率优化dp)
题目描述传送门题解题目让求v∗m2别有用心啊令ai表示每天走的路程和,si表示前i段路程的前缀和ans=m2∗1m[∑i=1m(ai−snm)2]=m(∑i=1ma2i+s2nm−2sn∑i=1maim)=m∑i=1mai2−sn2所以实际上就是将n个数划分成m个部分然后让这些部分的平方和尽量小令f(i,j)表示前j个数划分成i个部分的答案那么f(i,j)=min{f(i−1,k)+(sj−sk)
Clove_unique
·
2016-04-23 08:03
题解
dp
省选
[BZOJ4518][
Sdoi2016
]征途(斜率优化dp)
题目描述传送门题解题目让求v∗m2别有用心啊令ai表示每天走的路程和,si表示前i段路程的前缀和ans=m2∗1m[∑i=1m(ai−snm)2]=m(∑i=1ma2i+s2nm−2sn∑i=1maim)=m∑i=1mai2−sn2所以实际上就是将n个数划分成m个部分然后让这些部分的平方和尽量小令f(i,j)表示前j个数划分成i个部分的答案那么f(i,j)=min{f(i−1,k)+(sj−sk)
Clove_unique
·
2016-04-23 08:03
题解
dp
省选
[BZOJ4518][
Sdoi2016
]征途(斜率优化dp)
题目描述传送门题解将v∗m2化成(∑i=1mai2)∗m−sn2的形式。其中ai表示每天走的路程和,s表示路程前缀和。递推式为f(i,j)=min{f(i,k)+(sj−sk)2}可以斜率优化。最终答案为ans∗m−sn∗sn代码#include #include #include usingnamespacestd; #defineLLlonglong constintmax_n=3e3+5;
Clove_unique
·
2016-04-23 08:00
dp
bzoj
SDOI
SDOI2016
R1 游记
(敲了一下午Splay……BZOJ1500,在BZOJ能过在codevs就不能过,两个点卡空间差评,没办法就去敲动态内存结果一个点T了233。放弃了之后去看冷老留的线段树题目,为什么有树套树QAQ,为什么有树链剖分QAQ,写不成代码的我只好去写游记了) Day0: 坐taxi去火车站,半路在看网络流,不一会就开始晕车了——我午饭好好吃过了啊——晕的稀里哗啦,彻底看不下去了,就开
WDZRMPCBIT
·
2016-04-22 22:00
[bzoj4516][
SDOI2016
]生成魔咒
题目大意初始有一个空串。每次在末尾添加一个字符(字符集是[1,1000000000]的数字),并询问当前有多少本质不同的子串。一眼SAM虽然字符集很大,但是可以map耶有木有。nlogn就可以过啦,还可以在线的很兹瓷嘛!为了练习SA由于我是蒟蒻,所以这题我最终打的是第二眼看出来的算法——后缀数组首先它没有强制在线!于是可以先把最终串搞出来。然后把最终串倒过来。那么问题就被转化为:n个询问第i个询问
WerKeyTom_FTD
·
2016-04-22 19:00
[后缀数组 set] BZOJ 4516 [
Sdoi2016
]生成魔咒
将串反过来后缀数组然后用set维护一个序列插入时修改答案即可#include #include #include #include usingnamespacestd; typedeflonglongll; inlinecharnc() { staticcharbuf[100000],*p1=buf,*p2=buf; if(p1==p2){p2=(p1=buf)+fread(buf,1,1000
u014609452
·
2016-04-22 10:00
[树链剖分 线段树 标记永久化] BZOJ 4515 [
Sdoi2016
]游戏
想到了维护ax+b但不知道怎么修改然后就听说了标记永久化对于两个直线方程把决定范围小的下放到子树中树链剖分两个log,标记一次最多下推log层三个log复杂度好虚UPD:day2讲课的时候惊闻原来这叫超哥线段树,Orz然后回自己blog一看,代码贴错了,我的锅#include #include #include #defineVG[p].v #defineoo(1LL='0'&&c='0'&&cm
u014609452
·
2016-04-22 10:00
[bzoj4517][
SDOI2016
]排列计数
题目大意a是关于n的排列。问有多少符合条件的排列——恰有m个位置满足a[i]=i错排设dp[i]表示i个元素的错排方案数。什么意思呢?就是关于i的排列其中不存在任意的a[j]=j。答案显然就是Cmn∗dp[n−m]组合数快速算可以预处理阶乘以及阶乘的逆元。怎么预处理出dp呢?我们可以使用容斥原理:例如dp[n],其实就是要满足n个条件——第i个条件为a[i]!=i那么合法方案数=至少不满足0个条件
WerKeyTom_FTD
·
2016-04-21 20:00
BZOJ4514——[
Sdoi2016
]数字配对
有n种数字,第i种数字是ai、有bi个,权值是ci。若两个数字ai、aj满足,ai是aj的倍数,且ai/aj是一个质数,那么这两个数字可以配对,并获得ci×cj的价值。一个数字只能参与一次配对,可以不参与配对。在获得的价值总和不小于0的前提下,求最多进行多少次配对。这道题如果取消那个总和不小于0的情况呢?然后我们发现可以用最大流做,就是把a[i]有奇数个质因子的连向源点,偶数个质因子连向汇点建边,
qzh_1430586275
·
2016-04-21 08:00
C++
C语言
网络流
费用流
bzoj
BZOJ4517——[
Sdoi2016
]排列计数
求有多少种长度为n的序列A,满足以下条件:1~n这n个数在序列中各出现了一次若第i个数A[i]的值为i,则称i是稳定的。序列恰好有m个数是稳定的满足条件的序列可能很多,序列数对10^9+7取模。在uoj群里问逆元,被神犇们裱了一通,好在是学会了n个数中有m个数是稳定的,那么确定这m个数有C(n,m)种方法那么剩下的n-m个数的要求就是第i个数不是i思考了一波没想出来。。。。然后问了一下发现有错排公
qzh_1430586275
·
2016-04-19 20:00
C语言
组合数
bzoj
4517
[组合 错排] BZOJ 4517 [
Sdoi2016
]排列计数
n个里选m个然后n-m个里错排***错排相关公式Dn=(n-1)*(Dn-1+Dn-2)D1=0,D2=1Dn=n*Dn-1+(-1)^(n-2)=n*Dn-1+(-1)^nDn=n!(1-1/1!+1/2!-1/3!+……±1/n!)#include #include #include #defineP1000000007 usingnamespacestd; typedeflonglongll
u014609452
·
2016-04-19 18:00
4518: [
Sdoi2016
]征途|斜率优化
裸的斜率优化。。我考场上SB写暴力#include #include #include #include #include #include #include #include #include #include #include #include #defineN3333 #defineinf1e9 usingnamespacestd; longlongsum[N],a[N],b[N],*f=a
ws_yzy
·
2016-04-15 08:00
斜率优化
4514: [
Sdoi2016
]数字配对|费用流
这道题只要看出是个二分图就可以直接费用流搞一搞了SDOI的考场上我是看出二分图的,为什么还是打的暴力。。我sb#include #include #include #include #include #include #include #include #include #include #include #include #defineN222222 #defineinf1e9 usingnam
ws_yzy
·
2016-04-15 08: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
其他