首页 > 其他分享 >ASC8题解

ASC8题解

时间:2023-05-18 20:34:40浏览次数:38  
标签:ASC8 SAM 题解 len times 然后 考虑 endpos

B:

考虑用\(D(n,r)\)表示在\(r\)维空间中有\(n\)个超平面最多形成多少个区域,感觉不是很好做,考虑一下怎么递推。根据在二三维的经验,我们可以得到以下递推式:

\(D(n,r)=D(n-1,r)+D(n-1,r-1)\) ,实际意义就是原来已经有了\(n-1\)个然后再加入一个之后,会与前面的\(n-1\)个超平面在\(r\)维空间中交在一些\(r-2\)维的超直线上,切割部分最大就是\(D(n-1,r-1)\)。

猛然发现这个玩意长得和组合数递推一模一样,本以为是组合数了但是发现边界条件不一样,但是猜测和组合数脱不了关系。

考虑在二维时候的样子:\(n\times{(n+1)}/2\) 尝试用组合数分解一下,发现是\(C(n,2)+C(n,1)+C(n,0)\),再次猜结论:\(D(n,r)=\sum_{i=0}^{r}\binom{n}{i}\)。这个时候归纳验证一下就对了(感觉猜结论为主,要是猜到了证明自然是简单的)。

然后就显然了。

C:

首先看到\(n\le6000\)自然是想到暴力,但是发现CF远古题时间乘2,所以大概过不了。
考虑把S的SAM建出来,判断一个SAM节点右侧是否有两个不同的出现是容易的,只需要建的时候记录一下endpos的下一位然后在parent tree进行合并即可。那如何判断一个节点是否前面都相同呢,貌似不是很好判断。

考虑一个节点可能的长度区间\((len[par[x]],len[x]]\),发现只有在\(len[x]\)的时候才有可能是不同的,要不然就不可能是endpos相同的等价类了。但是细想一下就又会发现:\(len[x]\)时肯定是不同的(如果有超过1个endpos),要不然根据SAM的len最大的性质,len[x]-1就也可以在这个pos区间内,所以左边的限制在SAM上自然消失了,只需要右边满足即可。

E:

考虑周期如果为\(p\),在\(x\)足够大的时候会有\(f(x)=f(x+p)\),如果遇到\(pair(f(x-1),f(x))\)与\(pair(f(y-1),f(y))\)相同,那么就有p是abs(y-x)的因数。考虑一下随机化,随出来一个y-x然后再枚举最小的因数即可,感觉p应该是1e11左右,不会很大,所以可以通过。

随机化的如果随机不出来的概率其实是:

\(\frac{p\times{(p-1)}..\times{(p-n+1)}}{p^n}\)

在p=1e11,n=5e5的时候已经到达10-8级别,而在n=1e6的时候更是到达了10-232级别(不知道double是不是寄了,但是他确实显示了-232),所以是肯定正确的。
不过mt19937记得要开64位。

F:

没啥难度的简单dp,考点主要在高精度吧。

是否可以转移可以暴力判断,没必要优化。一个转移系数为1,一个是A(k,len)。

G:

打表打了一下,发现答案是\(ceil(sqrt(n))\),考虑对其进行构造,显然的是放t段,然后每段t个,段内递减,段首递增,就可以做到t了。

交了一发挂了,然后发现还要字典序最小。

再考虑构造一下字典序最小,分成t段是要的,然后我们要越前面的段个数越少,所以从后往前每次尽力填就行。

H:

首先凭直觉觉得是分成每组r-1个,然后组内直接连边,再考虑组外连边,但是不太可行。随后画了画图感觉可以把组的个数和大小调换一下,这样就可以满足条件了,具体证明还没有想。

标签:ASC8,SAM,题解,len,times,然后,考虑,endpos
From: https://www.cnblogs.com/IceYukino/p/17413216.html

相关文章

  • Html中使用jquery通过Ajax请求WebService接口以及跨域问题解决
    场景VS2019新建WebService/Web服务/asmx并通过IIS实现发布和调用:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/130743584在上面实现发布WebService的基础上,怎样在html中通过jquery对接口发起请求和解析数据。注:博客:https://blog.csdn.net/badao_liumang_qiz......
  • abc269_f Numbered Checker 题解
    NumberedChecker题意有一个\(n\timesm\)的方格矩阵,左上角是\((1,1)\),右下角是\((n,m)\),每个方格中都有一个整数,其中\((x,y)\)中的数字为:如果\(x+y\)是奇数,则\((x,y)\)中的数字为\(0\)。否则,\((x,y)\)中的数字为\((x-1)\timesm+y\)。有\(Q\)组询问,每组......
  • CSP-J2022试题题解
    1.乘方原题:https://www.luogu.com.cn/problem/P8813代码:#include<bits/stdc++.h>#definelllonglongusingnamespacestd;constintXN=1e9;lla,b,ans=1;intmain(){ cin>>a>>b; for(inti=1;i<=b;i++){ ans*=a; if(ans>XN){ cout......
  • abc270_f Transportation 题解
    Transportation题意有\(n\)个城市,你可以执行以下操作若干次:选择一个没有建机场的城市\(i\),花费\(x_i\)建一个机场。选择一个没有建港口的城市\(i\),花费\(y_i\)建一个港口。还有\(m\)条没有修建的道路,第\(i\)条道路双向连接\(a_i\)和\(b_i\),修建这条道路需要......
  • CF1077E Thematic Contests 题解
    ThematicContests题意有\(n\)个问题,每个问题有一个分类\(a_i\)。现在要举办一些比赛,要求:一场比赛中所有题目的分类相同。所有比赛的分类是互不相同的。第一场比赛的题目数量任意,但从第二场开始,每一场比赛的题目数量都必须是前一场的两倍。求所有比赛的题目数量之和的......
  • abc235_d Multiply and Rotate 题解
    MultiplyandRotate题意给定两个整数\(a\)和\(n\),有一个整数\(x\),初始值为\(1\),有两种操作:将\(x\)变成\(x\timesa\)。在\(x>10\)且\(x\)不是十的倍数的情况下可以执行此操作:将\(x\)当成一个字符串,将其循环右移一次。求最少执行多少次操作能把\(x\)变......
  • P8786 李白打酒加强版 题解
    李白打酒加强版题目大意一开始酒显里有\(2\)斗酒,每遇到一次店就会把酒显里的酒数量(单位:斗)乘\(2\),每遇到一次花就把酒显里的酒喝掉\(1\)斗。这一路上一共遇到店\(n\)次,遇到花\(m\)次,且最后一次遇到的是花,酒显里没有一斗酒了。计算这一路上遇到店和花的顺序总共有......
  • YACS 2023年5月月赛 甲组 T1 子集和(六) 题解
    YACS老师说这是道分治,但就不告诉我怎么做,我硬是用线段树卡了过去...特别解气的是把AC图片发了过去(我就是在YACS上的编程课)莫队好了说点正经的,看到是谁谁谁的倍数就能想到DP,状态设计也很水啦!设f[i]为当前考虑到的区间内,子集和%k=i的数量。新加入一个元素时,循环0~......
  • CF1183C Computer Game 题解
    ComputerGame还算水的一道题。题意本题意为题面直接翻译的简化版,可能会比题目翻译要复杂。有\(q\)次询问,每次给出四个数,表示一开始的电亮为\(k\),有\(n\)个回合,不插电玩一个回合则电量会减少\(a\),插电玩一个回合则电量会减少\(b\),电量在任何时刻都必须严格大于\(0\)......
  • Plsql或Navicat连接登陆Oracle时慢、执行语句的时候也特别慢的问题解决方案
    用Plsql或Navicat连接登陆Oracle时,等待时间特别长。经过漫长的等待后,执行语句的时候也特别慢,监听配置没毛病的情况下,大概率是监听日志文件过大导致的。监听日志路径:app\Administrator\diag\tnslsnr\LS--20171012URU\listener\trace\listener.log删除listener.log文件即可。......