ICode9

精准搜索请尝试: 精确搜索
  • 【HDU6647】Bracket Sequences on Tree(树Hash 树上Dp)2019-11-07 10:05:34

    题目链接 大意 给出一颗树,按下列方式生成一个括号序列。 function dfs(int cur, int parent): print('(') for all nxt that cur is adjacent to: dfs(nxt, cur) print(')') 其中可以从任一点出发,且对儿子的遍历顺序是随机的。 求本质不同的括号序列个数。 思路 前置板

  • A Horrible Poem2019-10-30 19:02:10

    https://loj.ac/problem/10038 题目描述   给出一个字符串\(S\),以及\(q\)次询问,每次询问这个字符串子串的最短循环节。 思路   这道题是毒瘤题,一定是毒瘤题,至少\(loj\)的数据是。我有两个思路,一个\(93\)分,一个不加快读\(97\)分,加快读满分。   首先,很显然,对于一个字符串求最

  • 珍珠项链 Beads2019-10-30 19:01:32

    https://loj.ac/problem/2427 题目描述   给出一段序列\(A\),求一个\(k\)使将序列\(A\)分为\(k\)段(不是倍数最后一段舍去)不同的段数最多。一个串的反转和它本身相同。 思路   这道题\(A\)的长度并不大,我们可以暴力枚举\(k\),对于每个\(k\)计算不同串的数目,再更新答案。需要注意

  • 反对称 Antisymmetry2019-10-30 19:00:24

    https://loj.ac/problem/2452 题目描述   反对称串定义为进行\(0、1\)取反后再反过来和原串相同的字符串,给出一个字符串,求它的多少个子串是反对称串。 思路   首先我们从反对称串的定义入手,我们考虑如果一个串\(S\)为反对称串,显然它的长度是偶数,那么它也就是以它的对称轴为分

  • 子串查找2019-10-30 18:55:43

    https://loj.ac/problem/103 题目描述   给定一个字符串\(A\)和一个字符串\(B\),求\(B\)在\(A\)中的出现次数。\(A\)和\(B\)中的字符均为英语大写字母或小写字母。 思路   显然这是道字符串匹配题,我们可以用\(KMP\)求解。但这里我主要想介绍一种更简单的方法:字符串\(Hash\)。我

  • Power Strings2019-10-30 18:50:32

    https://loj.ac/problem/10035 题目描述   给出一个字符串,求它最多由多少个相同的字符串重复链接形成。 思路   其实题目就是要我们求出最小循环节的长度,再用字符串长度除以这个长度就是答案。求最小循环节显然用\(KMP\)就可以,但这里我们也可以用字符串\(Hash\)做。我们只需要

  • # 滚动哈希2019-10-26 10:04:02

    滚动哈希 假设字符串\(C=c_1*c_2*...c_m\),定义哈希函数\(H(C)=(C_1*b^{m-1}+C_2*b^{m-2}+...C_m*b^{0})mod\; h\) 从k开始长为|m|的子串的hash值转移到从k+1开始长为|m|的字串的hash值的转移公式为 :\[H(S[k+1..k+m]=(H(S[k..k+m-1])*b-s_k*b^m+s_{k+m}\] 基数使用1e7以上的素数减

  • [SDOI2013]泉(搜索+hash+容斥)2019-10-06 19:57:04

    题意 给定\(n\)个时间,每个时间有六个权值,求恰好有\(k\)个权值对应相等的时间对的对数 思路 由于权值数量很少,可以枚举哪些权值相等,然后将每个时间的对应权值拿出来hash一遍,就可以得到有多少对时间的这些权值相同 但是这样显然会算重复,比如有四个权值相同的时间对它的三个权值也会

  • 门票2019-10-04 12:53:17

    https://loj.ac/problem/10041 题目描述   给定一个数列,a0=1,ai+1 = (A×ai + ai mod B)mod C。求第一个出现重复项的标号。 思路   由于给定答案不会超过2×106,所以我们可以暴力枚举数列的每一项,再快速判断是否存在即可。显然这道题可以用map搞过去,不过散列表也是一个不错的选

  • A Horrible Poem2019-10-03 20:53:40

    https://loj.ac/problem/10038 题目描述   给出一个字符串S,以及q次询问,每次询问这个字符串子串的最短循环节。 思路   这道题是毒瘤题,一定是毒瘤题,至少loj的数据是。我有两个思路,一个93分,一个不加快读97分,加快读满分。    首先,很显然,对于一个字符串求最小循环节,枚举为其长

  • 三个朋友2019-10-03 15:52:31

    https://loj.ac/problem/2823 题目描述   给出一个字符串U,求满足条件的字符串S使其复制一遍再插入一个字符后的字符串为U。 思路   由于插入过一个字符,所以我们可以进行一次扫描,每次扫描时将这个字符去掉,把去掉后字符串分成长度相等的两段,再比较这两段是否完全相同即可。如果

  • 子串查找2019-10-02 21:03:44

    https://loj.ac/problem/103 题目描述   给定一个字符串A和一个字符串B,求B在A中的出现次数。A和B中的字符均为英语大写字母或小写字母。 思路   显然这是道字符串匹配题我,我们可以用KMP求解。但这里我主要想介绍一种更简单的方法:字符串Hash。我们去一个基数b,把字符串看做b进制

  • 题解 Luogu P33702019-10-02 10:52:45

    讲讲这题的几种做法: 暴力匹配法 rt,暴力匹配,即把字符串存起来一位一位判相等 时间复杂度$ O(n^2·m) $ 再看看数据范围 $n\le10^5,m\le10^3$ 当场爆炸。当然有暴力分 代码(20pts): #include <bits/stdc++.h> using namespace std; char c[100001][1001]; bool pd(int x, int y) {

  • 小A盗墓2019-09-25 19:01:56

    小A盗墓 时间限制: 5 Sec  内存限制: 128 MB 题目描述 小A终于通过了保安的考验,来到了古墓门前,古墓门前有n根柱子,第i根柱子的高度是整数。古墓的门上会弹出一些暗号,机智小A猜到这个暗号表示询问第l到第r根柱子的高度在升序排序后是否构成一段连续且上升的序列。并且这些柱子

  • HDU 4335 What is N?(指数循环节)题解2019-09-17 20:01:55

    题意: 询问有多少数\(n\)满足\(n^{n!}\equiv b\mod p \land\ n\in[1,M]\),数据范围:\(M\leq2^{64}-1,p\leq1e5\) 思路: 这题显然要用欧拉降幂,\(n!\)小于\(\varphi(p)\)的直接暴力算,\(n!\neq 0\mod \varphi(p)\)也直接暴力。 \(n!\equiv 0\mod \varphi(p)\)显然这时质数恒为\(\varphi(p

  • The Preliminary Contest for ICPC Asia Shanghai 2019 G. Substring (滑窗+哈希)2019-09-16 20:56:13

      G. Substring   哎   一直超时or超内存 然后一直改一直改 然后 是 答案错误 然后 然后 最后结论是哈希姿势不对   我在别的地方找了这个: //https://www.cnblogs.com/napoleon_liu/archive/2010/12/29/1920839.htmluint32_t hash( uint32_t a){ a = (a+0x7ed55d16) + (a<<

  • 【常数优化】使用 register 修饰符来加快运行速率2019-09-16 13:38:00

    register 修饰 如果可能,将变量放入寄存器。 放入寄存器的变量在进行操作时的速度会大大提升,但不能再通过&符号取地址。不是所有类型的变量都可以放入寄存器。另外,放入寄存器后,寄存器的这部分空间不能再被其它内容使用;而且,如果将不是频繁使用的变量放入寄存器,运行时间不会有

  • PAT A1132 Cut Integer (20 分) 字符串2019-09-08 17:07:08

        题目大意:将长度为偶数的数字,从中间分成两个数,判断原数字能否被这两个数的积整除。     直接使用字符串转数字的函数即可,为方便起见使用 unsigned long long 型,对应的函数是 stoull。另外要注意做除法之前判断除数不为零,否则测试点2和3会浮点错误。 AC代码: #include <

  • P3370 【模板】字符串哈希2019-09-07 12:51:52

    题目描述 如题,给定N个字符串(第i个字符串长度为Mi,字符串内包含数字、大小写字母,大小写敏感),请求出N个字符串中共有多少个不同的字符串。 #友情提醒:如果真的想好好练习哈希的话,请自觉,否则请右转PJ试炼场:) 输入格式 第一行包含一个整数N,为字符串的个数。 接下来N行每行包含一个字

  • Fear Factoring(分块)2019-09-06 20:08:37

    Problem C — limit 1 second Fear Factoring The Slivians are afraid of factoring; it’s just, well, difficult. Really, they don’t even care about the factors themselves, just how much they sum to. We can define F(n) as the sum of all of the factors of n;

  • 2019杭电多校二 I Love Palindrome String(回文自动机)2019-08-20 11:01:04

    题意 给定一个串,求各长度下,本质不同的回文串并且回文串的左右两个字串也是回文串的数量。 传送门 思路 题意比较绕,理顺下来就是在回文树的每个节点,求其节点对应回文串的一半是否也是回文串,如果是,则其对该节点的长度产生贡献, 判断其回文串的一半是否也为回文串可以用马拉车或者哈希

  • [题解]UVA1603 破坏正方形 Square Destroyer2019-08-17 09:54:42

    是一道启发式搜索和位运算,剪枝的杂合题目。 要学好搜索,搜索是很重要的算法。那些很厉害的选手都是搜索打得好的。(By Instructor Li) 题目分析 首先,\(N≤5\),且边数是\(2N(N+1)≤60\)。在这样的小数据下可以位运算优化。 启发式搜索,设计估价函数\(G(X)\)。要求低于真实代价。下

  • 字符串匹配(hash算法)2019-08-12 16:05:00

    字符串匹配(hash算法) 转载 hash函数对大家来说不陌生吧 ? 而这次我们就用hash函数来实现字符串匹配。 首先我们会想一下二进制数。 对于任意一个二进制数,我们将它化为10进制的数的方法如下(以二进制数1101101为例): hash用的也是一样的原理,为每一个前缀(也可以后缀,笔者习惯1 base,所以喜

  • 【hash+二分】Antisymmetry2019-08-09 10:03:18

    【题目链接】 https://loj.ac/problem/2452 【参考博客】 https://blog.csdn.net/xgc_woker/article/details/82904631 【题意】 在原串中找出多少组子串是反对称的,其中反对称的定义为:“该串取反 和 该串逆置是一样的” 【题解】 二分+hash,hash用两遍,记得要用二分判断最长的长度,如

  • 字符串哈希板子 & 瞎做2019-08-06 20:37:33

    参考资料 HASH算法模板以及简单的入门题总结 【算法学习】字符串Hash入门 字符串Hash在某些情况下要比map<string,xxx>好用,因为在对字符串进行预处理后可以O(1)时间查询任意子串的哈希值。 貌似现在出题人都会卡自然溢出(与BASE的选取无关),用双Hash或自己搞两个模数可能会

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

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

ICode9版权所有