ntt

4月训练题解合集

蓝咒 提交于 2021-02-14 09:31:40
  由于我太懒了,所以就不每题开一篇写了。题目大意也懒得写了。 DAY1 1A   显然最优策略是瞎走,在知道那条边断掉了之后才走最短路径。   先把以 $T$ 为根的最短路树求出来,然后可以用堆求出断掉每条边后端点到 $T$ 的最短路径。   最后像 dijk 那样 DP 一下就好了。 1B   直接线段树 + 凸包优化 DP 可以轻松做到 $O(n\log n)$   用 这个方法 可以优化到 $O(n)$ 1C   不同的环长只有 $O(\sqrt n)$ 种。   对每种环长算一下答案即可。 DAY2 2A   直接缩个点然后每个出度为 $0$ 的连通块扔掉最小值即可。 2B   用 这个东西 ,用平衡树维护序列即可。 DAY3 3A   如果可以修改一个 $a_i$ 满足 $\forall i,a_{i+1}<a_i+b_i \or a_{i+1}>a_i+c_i$,那么那一个人第一天就会发现。   如果可以修改两个,那么那两个人第二天都会发现。   现在就是要修改最少的 $a_i$ 满足上面那个东西。   可以 DP。枚举上一个没有修改的 $j$,那么要求 $[a_i-B_{i-1},a_i-C_{i-1}]\subseteq[a_j-B_{j-1},a_j-C_{j-1}]$。其中 $B,C$ 分别是 $b,c$ 的前缀和。   可以发现区间长度是单调的。   然后按

NTT模板

∥☆過路亽.° 提交于 2021-02-08 02:51:15
NTT(快速数论变换)用到的各种素数及原根: https://blog.csdn.net/hnust_xx/article/details/76572828 NTT多项式乘法模板 #include<cstdio> #include <iostream> #include <algorithm> using namespace std; typedef long long LL; const LL mod= 998244353 ; // 119*2^23+1 g=3 const int N=( 1 << 19 )+ 2 ; const int g= 3 ; int rev[N]; LL a[N],b[N]; template <typename T> void read(T & x) { x = 0 ; char c= getchar(); while (!isdigit(c)) c= getchar(); while (isdigit(c)) { x=x* 10 +c- ' 0 ' ; c= getchar(); } } LL Pow(LL a,LL b) { LL res = 1 ; for (;b;a=a*a%mod,b>>= 1 ) if (b& 1 ) res=res*a% mod; return res; } void NTT(LL *a, int n, int f) {

NTT模板

情到浓时终转凉″ 提交于 2021-02-08 02:42:09
抄学了一下NTT,感觉写数学题更不虚一点了。。。 #include<iostream> #include<cstdio> #include<cmath> #include<cstring> #include<algorithm> #define LL long long int #define Redge(u) for (int k = h[u],to; k; k = ed[k].nxt) #define REP(i,n) for (int i = 1; i <= (n); i++) #define BUG(s,n) for (int i = 1; i <= (n); i++) cout<<s[i]<<' '; puts(""); using namespace std; const int maxn = 4000005,maxm = 100005,INF = 1000000000; inline int read(){ int out = 0,flag = 1; char c = getchar(); while (c < 48 || c > 57){if (c == '-') flag = -1; c = getchar();} while (c >= 48 && c <= 57){out = (out << 3) + (out << 1) + c - 48; c =

个人训练记录(UPD 9.16)

我怕爱的太早我们不能终老 提交于 2021-02-07 21:37:57
本文章记录一些较难的题,摘自自己的blog中的其他文章。也有些单独成章有点浪费的题也写在里面了。 2019.7.15-2019.7.21 1182F(2900) 题意:求在区间 $[a,b]$ 中找一个最小的 x 使得 $\text{abs}(\text{sin}(\frac{p}{q} \pi x))$ 最大。 $0 \le a \le b \le 10^{9}, 1 \le p,q \le 10^9$ key:姿势 实际上是求一个最小的 x 使得 $f(x)=2px \bmod 2q$ 最靠近 q。 性质:$f(x)+f(y)\equiv f(x+y) \bmod 2q$ 。所以对于区间内每个数 x ,都可以把它拆分为 $x=a+i*t+j$ 。其中 $t=\sqrt{b-a+1}, j=(x-a) \bmod t, i \in [0,t]$ 所以只需要把所有 $f(a+j)$ 记下来排个序,之后枚举 i 二分查找即可。剩余的区间( $i=t$ 时 j 可能取不到所有$[0,t)$ )需要暴力。 有两个坑点:1. 有序表中同样 f 的取小的。 2. 因为模运算的序列是环形的,所以如果二分查找的结果是首/尾,需要特判。 1194E(2200) 题意:有 n 个线段,每个都是平行 x 或者 y 轴,只有互相垂直的两线段才会相交。问形成了多少个矩形。 $n \le 5000,

ZJOI2019Day2余姚中学游记(4.23~4.26)

三世轮回 提交于 2021-01-24 05:48:55
前言 $Day2$,又是一场噩梦。 前段时间去做了挺多十二省联考和$HNOI2019$的题目,还订正掉了$Day1$的$T1$和$T2$($T3$动态$DP$完全不想订正啊)。 希望水平能有一定提升吧! $Apr\ 23rd$:出发 早上来机房,又大眼调了一遍昨天没调出来的希望,终于发现一个无比智障的错误,才终于过掉了这道毒瘤题: 【洛谷5291】[十二省联考2019] 希望 。 $$「那就是希望。」$$ $$「即便需要取模,也是光明。」$$ 等zzk等车的时候复习了一下社会,比赛比完立刻就要期中考试真是无比虚啊! 上车后又复习了会儿社会,然后去补希望的博客,结果直到吃午饭都没补完$2333$ 中午吃了关东煮+手抓饼,有点贵。 补完博客后看了会儿车上的电影,没想到看了一半就到了宾馆。 还是有点惊讶的,$13:20$便能到达目的地。 下午+晚上把$HNOI2019$没做过的几题都好好研究了一遍,然而发现还是不会。。。 晚上快睡觉前开始写$JOJO$,结果电脑莫名开始自动更新,而我代码又没保存。。。 也就是说,这一个下午加上一个晚上似乎啥都没干?我真是太弱了。。。 $Apr\ 24th$:第一天上课 昨天叶老师一开始说$7:20$集中,结果后来改成了$7:00$。 于是就迟到了,匆匆忙忙还把房卡落在了房间里。。。感觉像吃了一口陈年**(和谐)。 上午是神仙张宇哲张哲宇讲 树分治

NTT将在全球颇具影响力的技术盛会CES 2021上在线展出

流过昼夜 提交于 2021-01-12 09:02:47
该项目在希尔顿旗下配备融合会议活动设施的酒店推广实施 美国弗吉尼亚州麦克莱恩市--(美国商业资讯)--随着我们告别充满不确定性的2020年,我们可以清晰地看到:“线上+线下”结合的融合会议活动短期内将变得至关重要。为顺应人们在筹备会议和庆祝活动方式上的巨大转变, Hilton EventReady Hybrid Solutions 应运而生。这项全新推出的服务将持续优化,鼓励会议策划者前往配有“希尔顿安心会-融合会议活动”的希尔顿旗下酒店,同时还为其提供策划资源,包括扩充版“希尔顿清洁无忧·安心会”执行手册和灵活的客户服务。 每场会议和活动都将由专门的团队成员提供服务。作为Hilton EventReady Hybrid Solutions的一部分,参与该项目的酒店将获得全面的团队培训资源,从而建立和加强团队在融合会议活动方面的知识。 希尔顿执行副总裁兼首席品牌官Martin Rinck表示:“一百多年来,希尔顿始终保持在会议活动领域的领导地位,因为希尔顿能用心倾听不断变化的客户需求,并以此为基础迅速进行创新。Hilton EventReady Hybrid Solutions的诞生源自我们对卓越品质的孜孜追求——从评估我们的全球产品组合的能力,到推出一整套丰富的会议策划资源,再到团队成员培训,这一切都确保我们能够提供最佳的会议活动整体体验。” Hilton EventReady

[多项式算法](Part 3)MTT 任意模数FFT/NTT 学习笔记

女生的网名这么多〃 提交于 2020-12-19 06:42:57
其他多项式算法传送门: [多项式算法](Part 1)FFT 快速傅里叶变换 学习笔记 [多项式算法](Part 2)NTT 快速数论变换 学习笔记 [多项式算法](Part 4)FWT 快速沃尔什变换 学习笔记 [多项式算法](Part 5)分治FFT 学习笔记 $3.Hard-MTT$ 定义 MTT $(Maoxiao\ Theoretic\ Transforms)$ 中文名称:不知道,上面的英文全称也是瞎编的 (Most TLE Transforms) $Q:$现在学了FFT和NTT,那么MTT又是什么?有什么用? $A:$有大用 如果现在需要求两个整数多项式卷积,序列长度$n\le10^5$,多项式系数$A_i,B_i\le 10^9$,答案对$p\le 10^9$取模。 这时你就会发现,在运算过程中值域会到达$10^{23}$级别!使用FFT会炸精度,而NTT会因为模数的性质而失去作用。 你可以选择高精度,但是高精不仅难实现,效率也较为低下,而 python , java 等自带高精的语言在部分赛事中也禁止使用。 这时我们就需要使用MTT进行运算。 分析 MTT有$2$种方法,一种是三模数NTT,然后是拆系数FFT。 其中NTT精度优秀,但常数较大,而FFT则相反。 下面对这两种算法进行介绍。 三模数NTT 这个算法的主要思想是用$3$个满足NTT性质的$10^9

伯努利数的应用

无人久伴 提交于 2020-12-19 04:42:24
51nod1228 http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1228 #include<cstdio> typedef long long ll; const int maxn=5005,mod=1e9+7; int c[maxn][maxn],b[maxn],inv[maxn]; int T,k,tmp,ans; ll n; int main(){ for(register int i=0;i<=5000;++i){ c[i][0]=1; for(register int j=1;j<=i;++j) c[i][j]=(c[i-1][j-1]+c[i-1][j])%mod; } inv[1]=1; for(register int i=2;i<=5000;++i) inv[i]=mod-1ll*mod/i*inv[mod%i]%mod; b[0]=1; for(register int i=1;i<=5000;++i){ for(register int j=0;j<i;++j) b[i]=(b[i]+1ll*c[i+1][j]*b[j]%mod)%mod; b[i]=(mod-1ll*b[i]*inv[i+1]%mod)%mod; } scanf("%d",&T); while(T--){

CTR点击率预估论文集锦

不羁的心 提交于 2020-12-17 06:47:53
前言 CTR预估对于搜索、推荐和广告都是非常重要的一个场景,近年来CTR预估技术更新迭代,层出不穷。这篇文章将记录CTR预估著名模型的相关论文。以下按照年份整理。 1.2020年 ( DFN ). Ruobing Xie. Deep Feedback Network for Recommendation ,2020,IJCAI(CCF-A). 出自腾讯微信团队. ( DMR ). Zequn Lyu. Deep Match to Rank Model for Personalized Click-Through Rate Prediction , AAAI (CCF-A), 出自阿里团队。 ( DTS ). Shu-Ting Shi. Deep Time-Stream Framework for Click-through Rate Prediction by Tracking Interest Evolution , AAAI (CCF-A), 出自南京大学和阿里合作。 ( UBR4CTR ). Jiarui Qin. User Behavior Retrieval for Click-Through Rate Prediction , SIGIR (CCF-A), 出自上海交通大学。 ( InterHAt ). Zeyu Li. Interpretable Click

HNOI2019退役祭

穿精又带淫゛_ 提交于 2020-12-16 23:55:16
对你没看错,是退役祭。 Day -2 春游。话说为什么又是植物园? Day -1 白天上文化课,晚上给机房其它童鞋出题。 Day 0 给他们考试,然后颓3Dmaze,毕竟没网 Day 1 车上复习了下模板事实证明这并没有用 进考场,发现好多穿$CJ$校服的虽然一个认识的都没有 赶紧敲了$emacs$配置,然后就发卷了。真后悔没有带吃的进来 看$T1$,马上写了个暴搜,样例过了,然后想正解,没有思路,去看$T2$。 兴奋地写了个可持久化线段树,然后样例都没过,发现看错题了。。又想了一下无果,去看$T3$。 容易发现最后每条边都肯定是要连向$n$的,并且任何非目标状态都肯定是有一条边能直接变成连向$n$的。 于是第一问迎刃而解。然后就不会了,所以只做了W=0的点 为什么没写暴搜呢?懒得打 回过来看$T1$,发现$B,C$的决策和$E,F$的决策是相互独立的,所以只需要枚举$A,D$,分别求$B,C$和$E,F$的方案数然后乘法原理一下就好了。$B,C$的求法我想了很多,证伪了许多,最后的方案就是求出任意两个点构成的线段的垂直平分线,用一般式表示,然后用桶记录一下。枚举$A,D$时,求出$AD$直线的方程,看有多少个点对的垂直平分线就是这条,就是$B,C$可取的方案数。关于这个桶怎么实现,一开始还准备用哈希的,但是感觉有点麻烦,于是决定用$map$。至于$E,F$