Hello 2019

目录

  • D.Makoto and a Blackboard
  • E.
  • F.Alex and a TV Show
  • G.
  • H.


比赛链接

咕咕了一个月...终于闲的没事想起补了...

ABC代码没在本地(而且懒),就不放了...
(然而当时C题FST了真是想...= =)

D.Makoto and a Blackboard

\(Description\)
给定\(n,k\)。每次\(n\)会等概率地变成自己的一个约数(包括\(1,n\)),求变化\(k\)次后\(n\)期望是多少。
\(n\leq10^{15},\ k\leq10^4\)。

\(Solution\)
将\(n\)质因数分解,\(n=p_1^{a_1}p_2^{a_2}...p_k^{a_k}\),每次变化后每个质因子的次数\(a_i\)会随机变成\(0\sim a_i\)中的一个数,且每个\(a_i\)的变化是独立的。
所以可以对每个质因子分别计算期望,最后乘起来。
令\(f[i][j]\)表示\(i\)次变化后,\(a\)变成\(j\)的概率,\(f[0][a]=1\)。
转移就是\(f[i][j]=\sum_{k=j}^a\frac{f[i-1][k]}{k+1}\)。
把所有质因数都算一遍,乘起来就好了。
质因子个数、次数都是\(\log\)级别的(其实乘起来也就\(\log\)级别?),所以复杂度是\(O(k\log^2n)\)(其实也就是\(O(k\log n)\)?)。

E.

F.Alex and a TV Show

\(Description\)
有\(n\)个多重集合,初始都为空。有\(q\)次操作,操作共四种:
\(1\ x\ v\):将第\(x\)个集合赋值为\(\{v\}\)。
\(2\ x\ y\ z\):把第\(x\)个集合设为第\(y\)个集合与第\(z\)个集合的并。
\(3\ x\ y\ z\):把第\(x\)个集合设为\(\{\gcd(a,b)|a\in y,b\in z\}\)。
\(4\ x\ v\):询问第\(x\)个集合中,数字\(v\)出现次数模\(2\)后的值。
\(n\leq10^5,\ q\leq10^6\),出现的所有数字均为正整数且\(\leq7000\)。

\(Solution\)
先考虑第三个类似卷积的操作如何处理。题解用到了类似\(FFT\)的方法,将“卷积”转化成对应位置的“点值”分别进行运算。
在\(x\)位置处,不去维护数字\(x\)的出现次数,而是维护\(x\)所有倍数的出现次数。这样就可以对不同位置的点值分别维护“\(\gcd\)卷积”啦。
比如\(y\)集合中\(x\)的倍数有\(a\)个,\(z\)集合中\(x\)的倍数有\(b\)个,那么“卷积”之后\(x\)的倍数就有\(a*b\)个(而且这个\(a,b\)与其它位置的值互不影响)。
具体实现,因为只需要判断奇偶性,拿一个大小为\(7000\)的\(bitset\ A_i\)。操作二就是\(A_y\ ^{\wedge}A_z\)(加),操作三就是\(A_y\&A_z\)(乘)。
但是查询的时候需要容斥:\(Ans=A_x-A_{2x}-A_{3x}+A_{6x}\)...注意到容斥系数只有\(\mu=1\)或\(-1\),而\(1\equiv-1(mod\ 2)\),所以直接把\(\mu(i*x)\neq0\)的这些位置上的值加起来就好,也就是全与起来再模\(2\)。
这样每次操作的复杂度都是\(O(\frac{7000}{w})\)。

G.

H.

原文地址:https://www.cnblogs.com/SovietPower/p/10349515.html

时间: 2024-10-17 13:07:47

Hello 2019的相关文章

高通CEO莫伦科夫:5G手机从2019年开始将成主流(转)

据路透社9月15日报道,高通公司首席执行官预测,首款符合下一代移动标准的5G手机将于2019年在全球主要市场上市,这比预测时间要早一年. 作为世界顶级智能手机芯片制造商,高通公司首席执行官史蒂文?莫伦科夫(Steven Mollenkopf)在接受采访时表示,消费者和商务需求不断增长,迫使5G手机加速普及,将原来的2020年提前至2019年,以升级新的网络和设备. 5G商业化对于诸如华为.诺基亚和爱立信等网络设备制造商以及三星电子和苹果等手机制造商的新功能和设备升级需求来说至关重要.升级到新的网

ural 2019 Pair: normal and paranormal

2019. Pair: normal and paranormal Time limit: 1.0 secondMemory limit: 64 MB If you find yourself in Nevada at an abandoned nuclear range during Halloween time, you’ll become a witness of an unusual show. Here Ghostbusters hold annual tests for new ve

关于我遇到的“LNK 2019无法解析的外部符号”的链接错误

昨天在调试程序的时候出现了"LNK 2019无法解析的外部符号"的问题(VS2008),依照网上说的方法都没有解决这个问题,最后在项目文件里发现有两个同名的可是不在同一个目录下的cpp文件,而产生LNK错误的cpp文件里有对这个重名文件的引用,结果导致了当中一个cpp文件产生的目标文件(obj)覆盖了真正须要的cpp产生的OBJ文件,导致链接的时候找不到指定的符号而出现了链接错误. 以下给个图说明一下我遇到的情况吧: 在项目中.同一时候包括了目录1和目录2中的全部cpp文件,而ref.

微软将不推出二代HoloLens,直接在2019年推出第三代HoloLens

原文标题:微软将不推出二代HoloLens,直接在2019年推出第三代HoloLens (591ARVR 2017年2月20日消息)大约2年前,微软首次向世界展示了混合现实头显HoloLens,而他们也迅速占据各大新闻的头条,人们纷纷讨论着信息处理的未来.自那以后,微软已经把原型设备转变成可供购买的产品(虽然价格不菲). 上周,我们从数个信息源获悉微软调整了HoloLens的发展路线图,取消了第二个迭代的开发.考虑到微软对该设备的投入,以及许多人都坚信这是信息处理的未来,微软的这一举动让人十分不

hdu 2015~2019

hdu 2015 求一列数的段平均和,水 1 #include<stdio.h> 2 int main() 3 { 4 int m,n,sum=0,ave,i,count=1; 5 while (scanf("%d%d",&n,&m)!=EOF) 6 { 7 for (i=1;i<=n;i++,count++) 8 { 9 sum+=2*i; 10 if (count==m||i==n) 11 { 12 ave=sum/count; 13 printf

2019年台积电进军AR芯片,将用于下一代iPhone

近日,有报道表示台积电10nm 芯片可怜的收益率可能会对 2017 年多款高端移动设备的推出产生较大的影响,其中自然包括下一代 iPhone 和 iPad 机型.不过,台积电正式驳斥了这一说法,表明10纳米处理器生产完全按计划进行,并没有出现任何延滞,并且这款处理器在明年第一季度就会开始盈利. 同时台积电还放出另一个重磅消息.台积电还表示,明年公司的生产计划是7纳米处理器,到2019年会生产5nm处理器,支持高端移动设备获得新功能,如VR/AR等.今年10月也有报道显示台积电已经开始进行于201

2019年主机游戏将走下坡路

因为主机游戏正在失去一部分观众,DFC Intelligence互联网数据研究资讯中心改动了其全球预測报告.今年年初,研究机构DFC Intelligence预測,全球软件市场到2018年将赠长到1兆美金.然而,本周,DFC告知Xsolla.因为主机市场的变化,他们正在改动这一份预測报告. 虽然全球软件收入(网络加上零售店)仍然在2018年将接近1兆美金,可是在2019年的行业将走下坡路. 中文互联网数据研究资讯中心预測 从下面的表格你能够看出,虽然单机软件在接下来的几年里,会持续赠长,可是到2

POJ 2019 Cornfields 二维RMQ

题目来源:POJ 2019 Cornfields 题意:求正方形二维区间最大最小值的差 思路:直接二维ST搞 试模版而已 #include <cstdio> #include <algorithm> #include <cmath> using namespace std; const int maxn = 255; int dp[maxn][maxn][8][8]; int dp2[maxn][maxn][8][8]; int a[maxn][maxn]; int n

杭电 2019 数列有序!

http://acm.hdu.edu.cn/showproblem.php?pid=2019 数列有序! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 44844    Accepted Submission(s): 19451 Problem Description 有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给

error: LNK 2019 无法解析的外部符号

1.如果你是使用的第三方库,你看一下mainplay这个函数是在那个头文件(比如xx.h)里声明的,然后找到其对应的实现库,将其拷贝到你的Debug目录下,再在你的源文件里添加#pragma comment(lib,"xx.lib")2.如果你是自己实现的mainplay,那么请确保你声明了该函数后还在源文件里实现了它,而且这个源文件被添加到了你的工程里(这是为了编译该文件,然后将这个函数生成到obj里) 可能你不太明白.这里简单说一下原理.如果是第三方库,通常作者会提供头文件给你,你