ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

「考试」noip模拟1

2021-05-22 18:05:10  阅读:154  来源: 互联网

标签:frac 个点 noip 可以 个数 公比 模拟 欧拉 考试


序列

首先可以发现,当公比不为 1 时,序列的长度最多是 \(\log\) 值域
所以应该试着把复杂度往这个性质上优化一下
暴力判断合法有 60 分,但是这个 zz 写挂了
考虑怎么把公比确定下来,然后发现只要确定两个数,公比就可求
如果两个数为 \(x,y\) 且 \(x\) 被 \(y\) 整除,那么这个公比一定是从 \(\frac x y\) 里提取的,就是说满足 \(q^k=\frac x y\)
那么把 \(\frac x y\) 质因数分解,各质因数的次数间取最大公因数,就可以求出最小的由两数确定的公比
这样一来,只要有两个数,就可以得到公比
那么可以枚举每一个序列开始的 \(a_i,a_{i+1}\),然后向后直到不能加进序列,并用 set 判重
因为 \(q\leq 1000\) 的限制,所以在 \(\frac x y\) 有 1000 以上因子时应当跳过
由开头得到的性质,似乎可以保证复杂度几乎为 \(O(n)\) (筛,分解质因数和set的复杂度都不是很高)

熟练剖分

题解没太看懂QAQ所以复读一下赵sir的神仙做法
因为是 n 方 dp,所以可以想到一维结点,另一维表示轻链长度
这样一来就可以直接用定义式算出期望,所以只需要 dp 求出各状态的概率即可
在转移时,可以这样来处理随机选重链的过程:在转移用的临时数组另开一维 0/1 代表是否已经选了重链
然后就有已选 -> 已选,未选 -> 已选,未选 -> 未选三种转移
最后按定义式算答案即可

建造游乐园

首先得到一个结论:答案即为 n 个点的无向连通欧拉图个数与 \(C_{n-1}^2\) 的乘积
证明:因为两个无向连通欧拉图之间的转化会且仅会更改 2 条边,所以在它基础上加边/减边可以逆推出所求,且是不重不漏的
那么现在的问题转化成了 n 个点的无向连通欧拉图个数
由求无向联通图个数的相似方法可以做到 \(O(n^2)\) 求解
其中 n 个点的无向欧拉(不保证联通)图个数为 \(2^{C_{i-1}^2}\)
这是因为可以对于 n-1 个点的任意图,把其中度数为奇数的点向点 n 连边(这些点的个数一定是偶数),得到一个欧拉图

标签:frac,个点,noip,可以,个数,公比,模拟,欧拉,考试
来源: https://www.cnblogs.com/zzzuozhe-gjy/p/14799364.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有