哈希&最小表示法
lemondinosaur
转圈圈 不停转圈圈 然后摔倒
展开
-
2019.11.11【NOIP提高组】模拟 B 组
解题报告JZOJ 3888 正确答案题目分析代码JZOJ 3889 序列问题题目分析代码JZOJ 3890 长途旅行分析代码JZOJ 3888 正确答案题目试卷中共有mmm道判断题,nnn个神犇中有ppp个考了满分,qqq个考了零分,其他神犇不为满分或零分。还原出标准答案吗,如有多解则输出字典序最小的那个。无解输出-1。分析分类讨论,若ppp不为0,枚举正确答案,用STL::map\t...原创 2019-11-11 19:57:38 · 320 阅读 · 0 评论 -
2019.11.08【NOIP提高组】模拟 B 组
解题报告洛谷 2872 道路建设代码(Kruskal)洛谷 2873 泥水坑代码(广搜)洛谷 2869 美食的食草动物题目分析代码洛谷 2870 最佳牛线题目分析代码洛谷 2872 道路建设代码(Kruskal)#include <cstdio>#include <cctype>#include <cmath>#include <algorit...原创 2019-11-08 14:16:17 · 319 阅读 · 0 评论 -
2018.07.19【2018提高组】模拟C组
前言:早上完全起不来了,9点被回来的舍友叫醒,orzJZOJ 3461 小麦亩产一千八题目假设第0个格子有1粒麦子,第1个格子有p粒麦子,之后每一个格子放入前两个格子的小麦数之和的小麦,若第a个格子有x粒麦子,问是否存在p,若存在,问第b个格子有多少粒麦子,否则输出-1(给出a,x,p)分析按照这样,得到数列1,p,p+1,2p+1,3p+2,5p+3,8p...原创 2018-07-19 14:20:35 · 183 阅读 · 0 评论 -
2018_10_20 模拟赛
解题报告前言JZOJ 5456 奇怪的队列题目分析代码JZOJ 5458 质数题目分析代码JZOJ 5462 好文章题目分析代码前言OTL×∞\times ∞×∞JZOJ 5456 奇怪的队列题目有nnn个人排队,身高为aia_iai的人要么左边由bib_ibi个比她高的人,要么右边由bib_ibi比她高的人,问身高字典序最小的情况分析然而朴素就是n!×n2n!\times...原创 2018-10-20 17:17:26 · 571 阅读 · 0 评论 -
2018.07.07【2018提高组】模拟C组
前言今天各种水分,就水到了50分,(dalao太强了)题目JZOJ 1494 密码题目大意:高精度乘法(题目数据范围:102410241024,实际数据范围1024102410^{24},一堆WA了) 由于比较水,所以直接贴代码!(压8位)代码#include <cstdio>#include <cctype>#includ...原创 2018-07-07 22:31:09 · 187 阅读 · 0 评论 -
#hash,trie#洛谷 3449 PAL-Palindromes
题目给出nnn个回文串s1,s2,…,sns1,s2,…,sns1, s2, …, sn,求如下二元组(i,j)(i,j)(i, j)的个数si+sjsi+sjsi + sj仍然是回文串。分析若要两个回文串相连后仍是回文串,那回文串sisisi一定是 sj(leni<=lenj)sj(leni<=lenj)sj(lenilen[i]<=len[j]len[i]&l...原创 2018-08-19 20:42:49 · 197 阅读 · 0 评论 -
2019.03.30【NOIP提高组】模拟 A 组
解题报告前言JZOJ 3187 洛谷 3076 的士分析JZOJ 3188 找数题目分析代码JZOJ 3189 解密题目分析代码前言爆零警告JZOJ 3187 洛谷 3076 的士分析玄学贪心,就不放代码了JZOJ 3188 找数题目找出第N个最小素因子是P的正整数分析首先在p>=1000p>=1000p>=1000时暴力即可,在之前可以...原创 2019-04-17 18:08:27 · 348 阅读 · 0 评论 -
#最小表示法#洛谷 1368 bzoj 2882 工艺
题目最小表示法模板题分析初始化i=1,j=2i=1,j=2i=1,j=2 通过向后扫描比较S[i...i+n−1]S[i...i+n−1]S[i...i+n-1]和S[j...j+n−1]S[j...j+n−1]S[j...j+n-1]如果每个字符都相等,那么就是答案如果S[i+k]>S[j+k]S[i+k]>S[j+k]S[i+k]>S[j+k],让i=...原创 2018-08-17 19:03:08 · 270 阅读 · 0 评论 -
2019.07.09【NOIP提高组】模拟 A 组
解题报告JZOJ 3337 wyl8899的TLE题目分析代码JZOJ 3338 法法塔的奖励题目分析代码JZOJ 3339 wyl8899和法法塔的游戏题目分析代码JZOJ 3337 wyl8899的TLE题目可以最多修改字符串AAA的一个字母,若AAA长度为kkk的前缀是BBB的子串,问kkk的最大值分析枚举公共子串在BBB中的起始位置,二分在完全相同的情况下最长能延长到哪里,因为...原创 2019-07-09 22:27:39 · 325 阅读 · 0 评论 -
#BSGS,哈希#洛谷 4884 多少个1
题目原创 2019-07-07 21:55:41 · 126 阅读 · 0 评论 -
USACO 3.2
解题报告洛谷 1134 阶乘问题代码(暴力)洛谷 2727 01串代码(动态规划)洛谷 2728 纺车的轮子代码(暴力)洛谷 2729 饲料调配代码(暴力+柯西不等式)洛谷 2730 魔板代码(广搜+哈希)洛谷 1828 香甜的黄油代码(dijkstra+堆优化)洛谷 1134 阶乘问题代码(暴力)/*ID:lemondi1LANG:C++TASK:fact4 */#include...原创 2019-08-11 08:28:10 · 241 阅读 · 1 评论 -
#数论,哈希#洛谷 2429
题目问在1…m1…m1\dots m内有多少个数是p1,p2,…,pn(1≤n≤20)p1,p2,…,pn(1≤n≤20)p_1,p_2,\dots,p_n(1\leq n\leq 20 )的倍数,求这些数的和分析首先暴力(20!)应该是过不了的,虽然O(1010)O(1010)O(10^{10})貌似能过,但是还得讲一讲神奇的方法,线性筛,当然同时用哈希维护,然后就没有什么了...原创 2018-09-07 20:04:57 · 163 阅读 · 0 评论 -
2018.07.18【2018提高组】模拟C组
前言:再一次OTLJZOJ 3508 好元素JZOJ 3509 倒霉的小C题目求1+∑ni=1gcd(n,i)1+∑i=1ngcd(n,i)1+\sum_{i=1}^ngcd(n,i)分析这个问题可以改变成1+∑d|nd∗φ(n/d),φ(n)指1到n中与n互质的数1+∑d|nd∗φ(n/d),φ(n)指1到n中与n互质的数1+\sum_{d|n}d*\...原创 2018-07-18 14:33:53 · 194 阅读 · 0 评论 -
#哈希#ssl 1453 用户的昵称
题目给出一些用户的昵称,求各个昵称的使用个数且按字典序排序分析虽然可以用快排做出来,但是用哈希去重是一个优秀的选择(代码RE好多次了),所以用哈希存下每种情况,存下个数,并用一个point数组指向下标,差不多了,看代码。代码#include <cstdio>#include <cstring>#include <algorith...原创 2018-08-14 11:06:40 · 177 阅读 · 0 评论 -
#哈希#SSL 1125 集合
题目求两个集合的关系分析:c++ map大法 快排+二分 哈希 比较时间 首先如果答案和两个数组的数据个数相等为同一个集合 如果和第一个相等 B包含与A 和第二个相等 A包含于B 有答案说明交集不为空 否则有交集confusedmap(622ms)代码#include &lt;cstdio&gt;#include &lt;cctype&gt;#i原创 2018-03-01 15:38:12 · 304 阅读 · 0 评论 -
#哈希,广搜#洛谷 2730 SSL 1692 魔板
题目求从初始状态最少需要多少步到目标状态。分析首先这道题显而易见就是广搜,不过怎样标记它的状态? 所以用哈希。 因为理论上最多需要8! =40320,按照经验来说40320*1.2=48384,不过因为它不是质数,所以就用48383#include &amp;lt;cstdio&amp;gt;#include &amp;lt;cstring&amp;gt;#define p原创 2018-03-04 15:43:21 · 187 阅读 · 0 评论 -
#哈希,深搜#SSL 1127 方程的解数
题目分析首先数据点很小,所以就用深搜, k1x1p1+k2x2p2+……+k5x5p5+k6x6p6=0k1x1p1+k2x2p2+……+k5x5p5+k6x6p6=0k1x1^{p1}+k2x2^{p2}+……+k5x5^{p5}+k6x6^{p6}=0 k1x1p1+k2x2p2+k3x3p3=−k4x4p4−k5x5p5−k6x6p6k1x1p1+k2x2p2+k3x...原创 2018-03-07 20:54:16 · 216 阅读 · 0 评论 -
#哈希#SSL 1063 统计数字
题目求一些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。分析O(nlog2n)O(nlog2n)O(nlog_2n)排序算法不想多讲。 关键是怎样用计数排序。(所以就想到了哈希) 所以计数模板(伪代码) for (int i=1;i&lt;=n;i++) //for i=1 to n do scanf(“%d,&amp;x),a[x]++;//...原创 2018-03-08 15:41:36 · 194 阅读 · 0 评论 -
#哈希#ZJU 1101 赌徒
题目把一个数列的三个数加起来等于数列中的另一个数,使和最大。分析 a[x1]+a[x2]+a[x3]=a[x]a[x1]+a[x2]+a[x3]=a[x]a[{x1}]+a[{x2}]+a[{x3}]=a[x] 转换成 a[{x1}]+a[{x2}]=a[x]-a[{x3}]首先这道题普通模拟O(n4n4n^4)必然超时,so我们用二重循环算出任意两数之和...原创 2018-03-08 19:50:15 · 152 阅读 · 0 评论 -
#并查集,哈希#洛谷 2814 SSL 2343 信息学奥赛一本通 1388 家谱
有了map,就很容易解决了。题目求两个人的关系分析并查集代码#include &lt;iostream&gt;#include &lt;map&gt;using namespace std;map&lt;string,string&gt;uk; string s;string getf(string u原创 2018-03-24 14:10:12 · 458 阅读 · 1 评论 -
#最小表示法,哈希#poj 3349 Snowflake Snow Snowflakes
题目求是否有两片雪花,按顺时针或逆时针方向相同(也就是说,可以方向相同,也可以方向相反),如样例我的附图所示,两片雪花是相等的 分析这道题很容易会想到哈希,但是如何优化,可以用最小表示法121212合111,表示为最小的序列,再用哈希(要复制1遍)while (i<=12&&j<=12){ for (k=0;k<=...原创 2018-08-17 11:45:58 · 207 阅读 · 0 评论 -
#哈希#洛谷 3370【模(mú)板】字符串哈希
题目问n个字符串中有多少个不同的字符串分析除了暴力的直接快排,还可以用哈希求出哈希值,再快排(冲突太危险,函数需谨慎)代码#include &lt;cstdio&gt;#include &lt;cstring&gt;#include &lt;algorithm&gt;using namespace std;unsigned i原创 2018-08-16 09:11:52 · 1736 阅读 · 0 评论 -
#哈希,manacher#poj 3974 Palindrome
题目求最长回文子串的长度分析可以二分答案+哈希,对于奇回文串和偶回文串要分开处理哈希+二分O(nlogn)O(nlogn)O(nlogn)代码#include &amp;lt;cstdio&amp;gt;#include &amp;lt;cstring&amp;gt;#include &amp;lt;algorithm&amp;gt;原创 2018-08-16 12:27:17 · 186 阅读 · 0 评论 -
#哈希,数论#洛谷 3538 OKR-A Horrible Poem
题目求子串的最短循环节长度分析首先,有一些很重要的要说循环节长度|子串长度若nnn是某段的循环节,那么k∗nk∗nk*n也是循环节若nnn是某段的循环节,满足$[l…r-x]=[l+x…r]所以可以通过这样的方法,首先线性筛质数,从大到小枚举约数,求得答案代码#include &lt;cstdio&gt;unsigned int n,m,prime...原创 2018-08-16 20:15:48 · 410 阅读 · 0 评论 -
#hash#(洛谷 1102)A-B数对
copy一下题目是这样的:给出一串数以及一个数字C,要求计算出所有A-B=C的数对的个数。(不同位置的数字一样的数对算不同的数对)特别是后面这句话特别重要,它告诉我们重复是算的、 A-B=C 那么 A-C=B 所以就把A的个数累加,然后把A减去C就可以了,B的值的和就是答案。 当然内存才是最重要的。所以就找到了一个map 这样就简单的表达出来了#include &lt;c...原创 2018-01-21 13:28:53 · 469 阅读 · 0 评论