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
HNOI2011
[
HNOI2011
] 卡农
题目传送门引众所周知卡农是一种复调音乐的写作技法,小余在听卡农音乐时灵感大发,发明了一种新的音乐谱写规则。我还真不知道解法做计数DP的题先观察性质;性质1:由于一段音乐每种音符被奏响的次数为偶数,那么我们如果确定了前m−1m-1m−1个集合那么第mmm个集合就随之确定了(注意第mmm个集合是最后确定的集合)性质2:集合不可为∅\empty∅且对于任意两个选出的集合AAA和BBB,有A≠BA\neB
PocketSam
·
2023-09-04 15:25
计数DP
动态规划
算法
【BZOJ】【P2328】【
HNOI2011
】【赛车游戏】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2328题解传送门:http://www.cnblogs.com/Randolph87/p/3667963.htmlCode:#includeusingnamespacestd;constintmaxn=1e4+10;constdoubleeps=1e-7;intT,n;doublevmax,a
iamzky
·
2020-09-14 07:02
OI
BZOJ 2328: [
HNOI2011
]赛车游戏
Hint里的没有数据是肿么回事,仿佛是在刻意地逗我笑首先这是个贪心题我们考虑首先让耗油量尽可能地低上坡段是必须耗油的,速度先置为0下坡段速度可以提升一下,达到耗油为0即可平底自然速度为0然后找到当前速度最小的路段,提升它的速度与次小的平齐,注意不要超过限制直到提升不了为止,最后结算一下如果发现最小和次小速度相等就把他们合并了#include#include#include#include#incl
nlj1999
·
2020-09-14 07:52
堆
贪心
【BZOJ2328】 [
HNOI2011
]赛车游戏
BZOJ2328[
HNOI2011
]赛车游戏前言这道题目我真的佛了,卡精度+卡时间这就是下一个聊天鬼才.Solution首先可以二分出最大速度,然后考虑下坡的话可能有更好的解,然后这样子算一下就好了.代码实现
araw94333
·
2020-09-14 06:55
[
HNOI2011
]赛车游戏
题目描述名歌手LAALA最近迷上了一款赛车游戏,游戏中开车的玩家在不同的路段需要选择不同的速度,使得自己在最短的时间内到达终点。开始游戏时,车内的初始油量为f,所以游戏的关键是如何在速度和耗油量之间实现平衡。LAALA经过一段时间的研究后,发现这款游戏可以用一个简单的数学模型来描述,具体来说:从起点到终点的路线可以被简化成折线段,每条线段代表一个上坡或者下坡,若在一段斜率为s(s>0代表上坡,s=
aoanping0730
·
2020-09-14 06:22
[题解]bzoj2328(
HNOI2011
)赛车游戏
Solution首先我们要知道一点,在保证各个路段速度基本相同的情况下最优(并不知道怎么证明,望大神指导)。所以我们二分速度,检验是否超出油量限制。然后根据二分出的速度计算答案。注意有一点:如果在某段下坡路上,对于当前速度v,av+bs#include#include#includeusingnamespacestd;constintmaxn=10010;constdoubleeps=1e-14;
Saramanda
·
2020-09-14 05:45
二分答案
题解
HNOI2011
二分答案
BZOJ 2339 [
HNOI2011
]卡农
Solution组合数学渣,凉凉系列我们可以先计算顺序不同算不同种的方案,然后除以m!(乘它的逆元)我们可以设f[i]表示前i段的方案数,我们考虑f[i]怎么计算。可以知道有2n−12n−1中片段,当选出i-1个之后,最后一个必然确定,则有Ai−12n−1A2n−1i−1种方案,但是这样显然有重复的和不合法的,1、前i-1个集合中每个数的出现次数均为偶数,那么第i个集合就是空集,是不满足的。所以要
ssl_lyy
·
2020-08-12 12:50
排列组合
洛谷-3216 [
HNOI2011
]数学作业
题目描述小C数学成绩优异,于是老师给小C留了一道非常难的数学作业题:给定正整数NNN和M,M,M,要求计算Concatenate(1..N)ModMConcatenate(1..N)ModMConcatenate(1..N)ModM的值,其中Concatenate(1..N)Concatenate(1..N)Concatenate(1..N)是将所有正整数1,2,…,N1,2,…,N1,2,…,N
mkopvec
·
2020-07-09 20:05
算法题
洛谷·[
HNOI2011
]数学作业
初见安~这里是传送门:洛谷P3216数学作业题解题意很简单,求n个数依次写过去得到的这个数模m的值。我们很容易得到一个线性的递推式是:,其中w是i的位数。但是题目的话明显过不了。线性递推式+线性过不了,我们就可以想到矩阵快速幂了。f的值需要计算,i的值需要累加,所以我们的矩阵里面需要放三个东西:。转移就是:但是转移矩阵中的10^w会因为数位的改变而改变所以我们还得枚举n的数位改变转移矩阵来进行快速
樱狸❀
·
2020-07-08 02:24
矩阵快速幂
概率与期望的学习
WOJ3007]DumbBones[WOJ2276]挑战[WOJ3806]收集邮票[WOJ3083]收集宝石[WOJ3080]迷宫[WOJ2658]单机游戏[WOJ1111]钉子和小球简单游戏P3211[
HNOI2011
FSYo
·
2020-07-05 13:48
概率与期望
【bzoj2337】【
HNOI2011
】【XOR和路径】【高斯消元】
Description题解:按位考虑,假设当前考虑到第x位.f[i]表示从i到n第x位是1的概率.枚举i的后继节点j如果i到j的边第x位是1,那f[i]+=1/d[i]*(1-f[j]);如果i到j的边第x为是0,那f[i]+=1/d[i]*f[j];f[n]=0;这样对于每个i都可以列出一个方程,高斯消元即可.每次把f[1]*(2^x)累加进答案即可.代码:#include#include#in
sunshinezff
·
2020-06-26 16:35
高斯消元
[
HNOI2011
]XOR和路径 题解
设\(f(x)\)表示从\(x\)节点走到\(n\)的期望。有\[f(x)=\sum_{\{x,y\}}\frac{f(y)\oplusw(x,y)}{{\rmdeg}(x)}\]由于有后效性,无法DP求得。于是可以将其看作未知数,\(n\)个点构成\(n\)个\(n\)元一次方程,解方程即可。但还是不太好求,考虑期望的线性性,按位处理。重新记\(f(x)\)表示当前位的\(x\)走到\(n\)异
philochest
·
2020-02-16 00:00
BZOJ 2339 [
HNOI2011
]卡农(组合计数)
orzGXZlegend的博客讲的好!!CODE#includeusingnamespacestd;constintMAXN=1000005;constintmod=100000007;intn,m,P[MAXN],f[MAXN];inlineintqmul(inta,intb){intres=1;while(b){if(b&1)res=1ll*res*a%mod;a=1ll*a*a%mod;b>
_Ark
·
2019-09-15 10:00
其它DP
组合
【BZOJ】2329: [
HNOI2011
]括号修复-splay
传送门:bzoj2329pushuppushuppushup写错debug个了一个下午。。。。惨兮兮〒▽〒题解这篇博客写得很清楚了。。。对于操作4有一个特殊的性质:取出所有多余的无法匹配的括号,要么是)))((()))((()))(((的形式,要么全是(((或者全是)))。设多余的(((的个数为xxx,)))的个数为yyy,答案为⌈x2⌉+⌈y2⌉\lceil\fracx2\rceil+\lcei
ccosi
·
2018-11-29 18:13
平衡树
【BZOJ】2339: [
HNOI2011
]卡农 -组合计数
传送门:bzoj2339题解神仙DPDPDP。本质不同有点麻烦,考虑枚举方案之后除m!m!m!即可(???这一步就没想到)设f[i]f[i]f[i]表示长度为iii的满足条件的音乐个数(排列方式不同算不同)。考虑用容斥的方法计数。假设已知前i−1i-1i−1个片段,第iii个片段就是唯一确定的,共A2n−1i−1A_{2^n-1}^{i-1}A2n−1i−1种方案。第iii个片段为空集的方案数为f
ccosi
·
2018-11-15 20:16
妙
---组合数学---
计数DP
容斥原理
HNOI2011
XOR和路径 高斯消元+期望
传送门题目大意:给定一张无向连通图,每次有相等概率走一条边,求1号点到n号点异或和的期望值。这道题和NOI2005聪聪与可可很像,只不过…聪聪与可可那题猫一定会抓住老鼠,而这题有环,那么就不能用记忆化搜索了,因为每个点的状态都可以互相更新。但这些不断更新的状态最终的答案都会趋近于某一个值,而求得这个值的方法也就是高斯消元。通过解方程的思想,来得到那个值。题目求的是异或,而异或运算中各个二进制位的答
DyingShu
·
2018-11-02 21:42
期望
高斯消元
【BZOJ】2326: [
HNOI2011
]数学作业-dp&矩乘
题解dp递推式列出来后表示成转移矩阵,对于每一位数左移位数不同时逐次处理即可。n≤1018n≤1018,最多算18次。代码#includeusingnamespacestd;typedeflonglongll;lln,pow[20];intmod,l;structmat{inta[5][5];inlinevoiditia(){for(intj,i=1;i>=1;}returnret;}intmai
ccosi
·
2018-06-18 18:41
矩阵加速DP
BZOJ2329
HNOI2011
括号修复
ProblemBZOJSolution考虑询问,如果我们把相互匹配的括号删除,那么我们最终会得到形如)))(的序列。对于这样一个序列,我们不妨贪心。将左边连续的l个右括号,从第一个到(l+1)/2分别改为左括号。对右边则反之。那么当l为偶数时,左边会变得合法。当l为奇数时,会多余一个左括号,但由于题目保证了有解,即l+r为偶数,这个多余的左括号将与右边的多余右括号匹配。这样显然是没有冗余操作的。这
Rayment_cc
·
2018-05-21 14:44
无旋treap
好题集
平衡树
HNOI
BZOJ
BZOJ2329
HNOI2011
括号修复
ProblemBZOJSolution考虑询问,如果我们把相互匹配的括号删除,那么我们最终会得到形如)))(的序列。对于这样一个序列,我们不妨贪心。将左边连续的l个右括号,从第一个到(l+1)/2分别改为左括号。对右边则反之。那么当l为偶数时,左边会变得合法。当l为奇数时,会多余一个左括号,但由于题目保证了有解,即l+r为偶数,这个多余的左括号将与右边的多余右括号匹配。这样显然是没有冗余操作的。这
Rayment_cc
·
2018-05-21 14:44
无旋treap
好题集
平衡树
HNOI
BZOJ
bzoj2326: [
HNOI2011
]数学作业(矩阵乘法)
题目传送门。解法:矩阵乘法啊。设当前数为x。要加上的为i。若i为1为数。那么x应该变为x*10+i。i应该变成i+1这个过程很明显是矩阵乘法嘛。初始矩阵,因为有个+1,所以多一个元素表示1Xi1转移矩阵1000110011这样就变成了X*10+ii+11然后100,1000,10000同理即可。注意指数也要用longlong。代码实现:#include#include#include#includ
Hanks_o
·
2018-04-07 17:11
快速幂
BZOJ
杂
矩阵乘法
【BZOJ-2329】[
HNOI2011
] 括号修复
题目链接题目描述现在给你一个长度为N的由‘(‘和‘)’组成的字符串,位置标号从1到N。对这个字符串有下列四种操作:Replaceabc:将[a,b]之间的所有括号改成c。例如:假设原来的字符串为:))())())(,那么执行操作Replace27(后原来的字符串变为:)(((((()(。Swapab:将[a,b]之间的字符串翻转。例如:假设原来的字符串为:))())())(,那么执行操作Swap3
NeosKnight
·
2018-02-26 20:45
======题解======
Splay(伸展树)
HNOI
[BZOJ2338][
HNOI2011
]数矩形
TimeLimit:20SecMemoryLimit:128MBDescriptionSampleInput8-23-2-1030-11-121-31-21SampleOutput10题解:找出任意两点间的连线作为对角线,按照长度为第一关键字,中点坐标为第二关键字排序,然后在所有长度相同,中点坐标一样的对角线集合中寻找答案,因为每一个集合最多被枚举一次,那么复杂度就是O(n²)#include#i
dxyinme
·
2017-10-22 14:02
bzoj 2338: [
HNOI2011
]数矩形 (计算几何)
题目描述传送门题目大意:给出n个点,求顶点都在n个点中的最大矩形。题解代码#include#include#include#include#include#defineN1503#defineLLlonglongusingnamespacestd;intn,cnt,top,st[N*N];structdata{LLx,y;data(LLX=0,LLY=0){x=X,y=Y;}}p[N];datao
clover_hxy
·
2017-05-02 19:52
计算几何
[BZOJ2338][
HNOI2011
]数矩形(计算几何)
题目描述传送门题目大意:给出二维平面上的n个点,求一个最大的矩形,它的顶点都在给出的点上。题解首先预处理出所有的线段,中点相同、长度相同的两条线段可以组成一个合法的矩形将所有的线段按照一维中点、一维长度、一维斜率排序,对于中点相同、长度相同的线段必定在一段区间里,并且对于一条线段,取到最大值的另一条线段单峰,用两个指针扫一下就行了代码#include#include#include#include
Clove_unique
·
2017-05-02 19:36
题解
省选
计算几何
【bzoj2336】[
HNOI2011
]任务调度
题目链接Description有N个任务和两台机器A与B。每个任务都需要既在机器A上执行,又在机器B上执行,第i个任务需要在机器A上执行时间Ai,且需要在机器B上执行时间Bi。最终的目标是所有任务在A和B上都执行完,且希望执行完所有任务的总时间尽量少。当然问题没有这么简单,有些任务对于先在机器A上执行还是先在机器B上执行有一定的限制。据此可将所有任务分为三类:1.任务必须先在机器A上执行完然后再在
KikiDMW
·
2017-04-01 15:11
随机化算法
【bzoj2329】[
HNOI2011
]括号修复
Description一个合法的括号序列是这样定义的:1.空串是合法的。2.如果字符串S是合法的,则(S)也是合法的。3.如果字符串A和B是合法的,则AB也是合法的。现在给你一个长度为N的由‘(‘和‘)’组成的字符串,位置标号从1到N。对这个字符串有下列四种操作:Replaceabc:将[a,b]之间的所有括号改成c。例如:假设原来的字符串为:))())())(,那么执行操作Replace27(后
KikiDMW
·
2017-04-01 11:02
Splay
【bzoj2328】[
HNOI2011
]赛车游戏
题目链接Description题解从耗油量最少开始慢慢贪心地调整。对于上坡,速度设为0,但是免不了耗油,这一部分的耗油先减掉。对于下坡,速度在不耗油的前提下设到最大(但是不能超过vmax)。对于平路,速度设为0。然后我们用一个优先队列来维护这些线段,每次取出速度最小的段,如果它的速度和次小的速度一样就合并起来,否则将它的速度提升到和次小的速度一样,当然这是在油够用的前提下,如果油不够用就提到能提到
KikiDMW
·
2017-03-31 22:10
贪心
【bzoj2327】[
HNOI2011
]勾股定理
题目链接Description题解膜拜ydc大神的题解。对于1000000以内的互质勾股数两两建边。即在这个森林中选择不相邻的点,可以树形DP解决。但是并不是树,可能有回边。那么暴力枚举回边相连的点选还是不选,然后在这个基础上跑树形DP。并不清楚bzoj上跑得最快的那些人是怎么做的。。但网上只能找到几篇题解就这么写了。#includeusingnamespacestd;inlineintread(
KikiDMW
·
2017-03-31 15:03
动态规划
数学相关
树形动规
【bzoj2326】[
HNOI2011
]数学作业
题目链接Description题解[fnn1]=[fn−1n−11]×⎡⎣⎢10k11011001⎤⎦⎥对于0…9,10…99,100…999,…,10t…n分段计算。#includeusingnamespacestd;#definerep(i,l,r)for(inti=(l);i>=1;}returnret;}}a;voidinit(){scanf("%lld%lld",&n,&m);}void
KikiDMW
·
2017-03-31 09:11
矩阵乘法
[BZOJ2337][
HNOI2011
]XOR和路径(概率期望dp+高斯消元)
题目描述传送门题解按位分解,统计每一位为0和为1的概率,最后乘上权值就行了算概率的话用高斯消元时间复杂度O(30∗(2n)3),很不科学对不对我也是这么觉得代码#include#include#include#include#includeusingnamespacestd;#defineN205intn,m;inttot,point[N],nxt[N*100],v[N*100],c[N*100]
Clove_unique
·
2017-03-16 18:58
题解
dp
省选
概率期望
高斯消元
bzoj 2337: [
HNOI2011
]XOR和路径 (概率与期望DP+高斯消元)
2337:[
HNOI2011
]XOR和路径TimeLimit:10SecMemoryLimit:128MBSubmit:1117Solved:653[Submit][Status][Discuss]DescriptionInputOutputSampleInputSampleOutputHINTSourceDay2
clover_hxy
·
2017-03-16 16:31
高斯消元
概率与期望
[BZOJ2326][
HNOI2011
]数学作业 矩阵快速幂
那玩意儿一看就要分段统计,递推式可以求一求$F[n]=10^k*F[n-1]+n$这东西是可以装进矩阵的,矩阵里存三个元素,F[n],n,1快速幂乘着玩儿就行了/**************************************************************Problem:2326User:di4CoveRyLanguage:C++Result:AcceptedTime
HbFS-
·
2017-03-13 22:58
数学
[BZOJ2329][
HNOI2011
]括号修复 平衡树
n2暴力能AC,类似贪心的做法,直接扫一遍就可以诶这题目平方暴力能跑过去只能说出题人出的数据出得真得很差,非常不用心这种数据在比赛里对公平是多么大的一种破坏希望比赛的出题人能够严肃地对待自己出的题目若没有能力出好这题的数据请不要出这种题目#include#defineN100050usingnamespacestd;inlineintrd(){intr;scanf("%d",&r);returnr
HbFS-
·
2017-03-13 21:20
BZOJ2329
HNOI2011
括号修复 平衡树
不算太裸的平衡树……论标记的正确打法。对于一个括号序列,我们总能简化成一个左边全是右括号,右边全是左括号的序列,像酱紫:)))))(((((。(当然有可能是没有左括号或者右括号的)我们定义)==-1,(==1。然后我们用打标记的方法来维护从左起的最小序列和lmin和从右起的最大序列和rmax,显然这两个的值分别是简化后右括号和左括号的数量,那么答案就是(-lmin+1)/2+(rmax+1)/2我
WDZRMPCBIT
·
2016-04-22 22:00
[暴力 乱搞] BZOJ 2338 [
HNOI2011
]数矩形
枚举对角线,两条对角线合法必定中点重合长度相同暴力两辆计算竟然没T#include #include #include usingnamespacestd; typedeflonglongll; inlinecharnc() { staticcharbuf[100000],*p1=buf,*p2=buf; if(p1==p2){p2=(p1=buf)+fread(buf,1,100000,std
u014609452
·
2016-04-18 18:00
BZOJ 2339: [
HNOI2011
]卡农
2011完结撒花这题一眼看过去,裸的Lucas定理??????赶紧写了一发,WA了QAQ发现题目竟然还有限制,太无情了所以我们还是先简化一下问题,比如说把组合这个限制去掉,变成排列显然排列的答案求出来后直接除以m!就是组合的答案了然后令f[i]为前i段合法的方案数若i-1段的排列已经确定,有A(i-1,2^n-1)种方案,那么第i段显然只能加一种,但是可以加在不同位置上,然而去掉重复的最后还是只剩
nlj1999
·
2016-04-06 19:00
BZOJ 2338: [
HNOI2011
]数矩形
先处理出一共O(n^2)条线段然后找出长度相等,中点重合的线段,更新答案即可事实上这么做极端情况下会被卡成n^3的复杂度,不过数据没有特殊构造还是能过的(其实是我也不会其他方法了)#include #include #include #include usingnamespacestd; typedeflonglongll; constintN=1500+5; llsqr(llx){returnx
nlj1999
·
2016-04-06 15:00
BZOJ 2337: [
HNOI2011
]XOR和路径
首先异或这个不是很好搞,我们可以把每个数先拆成二进制的考虑每一位的情况,那么问题就转化为了到达节点n时当前位为1的期望令f[i]表示从节点i到n异或为1的期望,显然f[n]=0对于其他的点u,f[u]=sigma(f[v]/deg[u])+sigma((1-f[w])/deg[u]),其中边u-v当前位为0,边u-w当前位为1然后我们搞个n^3的矩乘暴力求出步数为1到inf时的情况,就T了根据这个
nlj1999
·
2016-04-06 15:00
BZOJ 2336: [
HNOI2011
]任务调度
随机化乱搞调整先暴力枚举3的情况,然后贪心出一组1,2的顺序随机调整顺序,模拟看是否更优,更优则变更为该顺序#include #include #include #include #include usingnamespacestd; constintinf=1e9; constintN=20+5; ints1[N],tp1,s2[N],tp2; inta[N],b[N],t[N],n,ans;
nlj1999
·
2016-04-06 10:00
BZOJ 2209: [Jsoi2011]括号序列&&BZOJ 2329: [
HNOI2011
]括号修复
双倍经验题好评画了一下午括号没想出来QAQ简直蠢哭了把左括号看成1,右括号看成-1,答案就是(最小前缀和的绝对值+1)/2+(最大后缀和+1)/2然后因为有三个操作所以还要顺便维护下最大前缀和&&最小后缀和BTWHNOI的那道题暴力比我的splay跑得快QAQ为什么我的splay感觉就是在地上爬啊2209:#include #include #include usingnamespacestd;
nlj1999
·
2016-04-05 20:00
BZOJ 2328: [
HNOI2011
]赛车游戏
Hint里的没有数据是肿么回事,仿佛是在刻意地逗我笑首先这是个贪心题我们考虑首先让耗油量尽可能地低上坡段是必须耗油的,速度先置为0下坡段速度可以提升一下,达到耗油为0即可平底自然速度为0然后找到当前速度最小的路段,提升它的速度与次小的平齐,注意不要超过限制直到提升不了为止,最后结算一下如果发现最小和次小速度相等就把他们合并了#include #include #include #include #
nlj1999
·
2016-04-05 11:00
BZOJ 2327: [
HNOI2011
]勾股定理
Orz千古神犇ydc的题解自从我发现这个不是基环无向树就不想做了没想到数据好水强行把NP的题出成普通题HN的出题人真是不负责任(另:这题debug真麻烦)#include #include #include #include usingnamespacestd; constintN=1000000+5; constintM=1000000; constintE=190000; constintp=
nlj1999
·
2016-04-03 16:00
BZOJ 2326: [
HNOI2011
]数学作业
还以为有什么奥妙重重的数学公式结果没想到是矩乘……#include #include #include usingnamespacestd; typedeflonglongll; intm; structmatrix{ lla[3][3]; voidprint(){ for(inti=0;i>=1,b=b*b)if(k&1)ans=ans*b; returnans; } }f,g; intcalc
nlj1999
·
2016-04-02 11:00
2337: [
HNOI2011
]XOR和路径 高斯消元解期望方程 概率与期望DP
居然没被卡精度,高斯消元居然一边写对了,sb错误居然没犯。。如此傻逼的我也能1A真是感动。因为要求的是xor的期望,我们可以按位计算每位的期望再相加。考虑每一位,我们令d[i]表示点i的出度,我们令f[i]表示从i走到n这一位的xor和为1的概率,那么有f[i]=∑j=1d[i]f[j]d[i](edge(i,j)=0),1−f[j]d[i](edge(i,j)=1)玛雅我写的式子好傻逼意会一下就
Phenix_2015
·
2016-02-24 19:00
【
HNOI2011
】【BZOJ2326】数学作业
DescriptionInputOutputSampleInputSampleOutputHINTSource矩阵乘法怎么觉得以前做过..是忘了放题解了吗..Source里就是题解T_T#include#include#include#include#include#defineMAXN10#defineLLlonglongusingnamespacestd;constintsize=3;LLn,
CreationAugust
·
2016-01-26 17:18
随便搞搞
【矩阵】[
HNOI2011
][HYSBZ/BZOJ2326][CQBZOJ2831]数学作业
题目分析:另f[n]为Concatenate(1..N)ModM的值,那么f[n]=(f[n-1]*10^length[n]+n)%MOD。所以[f[n]n1]=[f[n−1]n1]∗⎡⎣⎢111011001⎤⎦⎥根据数字的长度分段做矩阵快速幂即可。#include #include #include usingnamespacestd; #defineMAXMT3 #defineMODm typ
outer_form
·
2016-01-25 23:00
C++
矩阵
bzoj
hnoi
HYSBZ
【bzoj2329】[
HNOI2011
]括号修复 splay
先考虑一下,给定一个括号序列,怎样求答案。括号序列化简后一定是这个样子的,)))))(((这样子的答案就是(左括号数+1)/2+(右括号数+1)/2那么,我们只需要维护好从左边有多少个右括号和从右边有多少个左括号就可以求答案了。记(为-1,)为1,这样()相加后就被抵消了。于是,我们只需要维护一个类似最大连续子段和中的从左边延伸多少就可以了。操作其实都非常基础。覆盖标记时,记得把其他标记全部清零。
u012288458
·
2015-12-29 14:00
BZOJ 2326[
HNOI2011
]数学作业(矩阵快速幂)
解题思路: 根据位数来进行递推,用矩阵来优化。原因:看到题目的n>1000000000时基本就要想到优化,而常见优化是二分,矩阵,倍增。对于递推用矩阵而距离用倍增。 构造矩阵是难点: 首先只看1,对于1,当后面若增加2-9的一个数那么相当于f[i]=f[1]*10+i;同理其他也类似,我们可以算出每个数对1这个点可以把它向前推得位数。又注意到这是个连续递增的数列,所以可以构造一个矩
M_AXSSI
·
2015-11-22 19:00
【BZOJ】2329: [
HNOI2011
]括号修复(splay+特殊的技巧)
http://www.lydsy.com/JudgeOnline/problem.php?id=2329 和前一题一样,不就多了个replace操作吗。好,就打一下。 然后交上去wa了。。。。。。。。。。。。。。。。。。。。 看了题解,好神奇! 记住:以后pushdown的tag要考虑先后顺序! 因为invert和swap操作谁先谁后没有关系,那么考虑invert和replace这两个有
·
2015-11-13 11:05
play
[
HNOI2011
任务调度]
[关键字]:随机化算法 模拟退火 [题目大意]:http://221.192.240.123:8586/JudgeOnline/showproblem?problem_id=1677 //========================================================================================================
·
2015-11-13 02:59
任务调度
上一页
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
其他