首页 > 其他分享 >洛谷 P4173 残缺的字符串 卡常小记

洛谷 P4173 残缺的字符串 卡常小记

时间:2024-03-13 23:46:49浏览次数:23  
标签:ix 洛谷 NTT P4173 卡常 neq

首先,使用匹配函数 \(P(x_i, x_j) = x_ix_j - x_i^2[j \neq 0]\)。

容易发现,当存在 \(i \neq j\) 时,\(x_ix_j\) 的系数只会增加,因此根据 Schwartz-Zippel 引理,随机一组 \(x_{1 \sim 26}\) 对应 a~z 即可。

然后,对于 NTT 的过程,有两个卡常的点:

一是点积 reverse 后转卷积的过程是舍弃低位的,故利用循环卷积的特性可以将 NTT 长度减半。

二是 NTT 是线性的,NTT 的结果可以累加后再进行一次 INTT

这样就能以 max = 70ms 过掉本题 \(3 \times 10 ^ 5\) 的数据(

标签:ix,洛谷,NTT,P4173,卡常,neq
From: https://www.cnblogs.com/JerryTcl/p/18071848

相关文章

  • STL中的set——洛谷P5250
     1.作用/与优先队列的区别(1)插入一个元素,自动排序,保证其内部元素有序(升序)。优先队列也可以做到这一点。(2)支持任意增删一个元素,而优先队列做不到这一点,这是两者其中一个区别。(3)使用set的前提是唯一键值对,保证了其内部没有重复元素,而优先队列内部同一元素可以有多个,这是两者......
  • 字符串哈希——洛谷P3370
    1.简介本文主要介绍三种实现哈希表的方法:进制哈希,set哈希,map哈希。2.进制哈希#include<iostream>#include<vector>#definemod1000usingnamespacestd;intn,hs,ans;vector<string>a[mod];//数组开多大,取决于mod取多大strings;......
  • 二分+前缀和——洛谷P1314
    1.公式解读[...]  括号内内容为真则其值等于1,内容为假则其值等于0 2.思路这是一个关于单调性判定的问题,当W不断增大,差值由大变小再变大(实际是从负到0到正,只不过要取绝对值,不影响它的单调性),而目标则是在0的附近找到一个绝对值最小的值,因此是一道二分答案题,但如果......
  • 洛谷P6866 [COCI2019-2020#5] Emacs
    题目描述给定一个n×m 的只含有 . 和 * 的矩阵。矩阵中 * 形成一些不重叠的长方形。它们不在边缘或顶点接触。求长方形有多少个?输入格式第一行:两个正整数 n 和 m。以下 n 行:表示题目描述中的矩阵。矩阵只含有 . 和 *。输出格式一行一个非负整数,你的答......
  • C++:[NWRRC2015] Concatenation(洛谷)P7050
    题目描述FamousprogrammerGennadylikestocreatenewwords.Onewaytodoitistoconcatenateexistingwords.Thatmeanswritingonewordafteranother.Forexample,ifhehaswords cat and dog,hewouldgetaword catdog,thatcouldmeansomething......
  • 洛谷 P2730 魔板 题解 DFS(广度优先搜索)
    题目背景在成功地发明了魔方之后,鲁比克先生发明了它的二维版本,称作魔板。这是一张有 8 个大小相同的格子的魔板:12348765题目描述我们知道魔板的每一个方格都有一种颜色。这 8 种颜色用前 8 个正整数来表示。可以用颜色的序列来表示一种魔板状态,规定从魔板的左......
  • 洛谷题单指南-二叉树-P4715 【深基16.例1】淘汰赛
    原题链接:https://www.luogu.com.cn/problem/P4715题意解读:计算亚军得主,注意能力值最高的肯定是冠军,但能力值第二高的不一定是亚军,因为有可能中途就遭遇冠军。解题思路:根据题意,两两比赛,一轮后再按顺序两两比赛,形如一棵二叉树,但解题其实用不到二叉树的数据结构可以看出,最后参与......
  • 每日一题 第一期 洛谷 铺地毯
    [NOIP2011提高组]铺地毯https://www.luogu.com.cn/problem/P1003题目描述为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有n......
  • 「杂题乱刷」洛谷 P2572
    先上AC代码:点击查看代码/*Tips:你数组开小了吗?你MLE了吗?你觉得是贪心,是不是该想想dp?一个小时没调出来,是不是该考虑换题?*/#include<bits/stdc++.h>usingnamespacestd;#definemapunordered_map#defineforl(i,a,b)for(registerlonglongi=a;i<=b;i++)#define......
  • 洛谷题单指南-线性表-P2234 [HNOI2002] 营业额统计
    原题链接:https://www.luogu.com.cn/problem/P2234题意解读:要计算每一天最小波动值的和,需要对每一天求最小波动值,再求和,如果暴力法,时间复杂度在1+2+3+......+32767≈5*10^8,可能会超时。解题思路:1、暴力法:由于本题测试数据比较水,实测暴力求解直接可以AC,由于没有技术含量,不做具体......