素数回文(dfs,有bug)】的更多相关文章

素数回文 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 16487    Accepted Submission(s): 3677 Problem Description xiaoou33对既是素数又是回文的数特别感兴趣.比如说151既是素数又是个回文.现在xiaoou333想要你帮助他找出某个范围内的素数回文数,请你写个程序找出 a…
xiaoou33对既是素数又是回文的数特别感兴趣.比如说151既是素数又是个回文.现在xiaoou333想要你帮助他找出某个范围内的素数回文数,请你写个程序找出 a 跟b 之间满足条件的数.(5 <= a < b <= 100,000,000);  Input 这里有许多组数据,每组包括两组数据a跟b. Output 对每一组数据,按从小到大输出a,b之间所有满足条件的素数回文数(包括a跟b)每组数据之后空一行. Sample Input 5 500 Sample Output 5 7…
素数回文 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 9266    Accepted Submission(s): 2167 Problem Description xiaoou33对既是素数又是回文的数特别感兴趣.比如说151既是素数又是个回文.现在xiaoou333想要你帮助他找出某个范围内的素数回文数,请你写个程序找出 a…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1431 素数回文 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 15041    Accepted Submission(s): 3359 Problem Description xiaoou33对既是素数又是回文的数特别感兴趣.比如说151…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1431 Problem Description xiaoou33对既是素数又是回文的数特别感兴趣.比如说151既是素数又是个回文.现在xiaoou333想要你帮助他找出某个范围内的素数回文数,请你写个程序找出 a 跟b 之间满足条件的数.(5 <= a < b <= 100,000,000);  Input 这里有许多组数据,每组包括两组数据a跟b. Output 对每一组数据,按从小到大输出…
完数/最大公约数/最小公倍数/素数/回文数 2015-04-08 10:33 296人阅读 评论(0) 收藏 举报  分类: C/C++(60)  哈尔滨工业大学(8)  版权声明:本文为博主原创文章,未经博主允许不得转载. 1.一个正整数的因子是所有可以整除它的正整数.而一个数如果恰好等于除它本身外的因子之和,这个数就称为完数.例如6=1+2+3(6的因子是1,2,3). #include <stdio.h> #include <math.h> int IsPerfect(int…
这题开始想时,感觉给的范围5 <= a < b <= 100,000,000太大,开数组肯定爆内存,而且100000000也不敢循环,不超时你打我,反正我是不敢循环. 这题肯定得打表,筛素数肯定用埃托色尼筛法(不好意思把大名鼎鼎的埃拉托色尼名字打错了,表打我). 再看当你所找的回文数的位数为偶数时,有如下定理除11外所有偶数位数的回文数都能被11整除,所以所有偶数位数的回文都不是素数. 证明看如下(我手写的) 手机像素渣(凑活着吧)字丑也凑和着. 证完后我们在来说题目给的数据范围 所以当…
整体思路 使用埃拉拖色尼算法提前计算出1000以内的素数表. 设计一个回文判断函数isHW(int n),难点在于数字回文的判断.一个简单的方法是将数字n使用sprintf输出在一个数组中,然后从数组的头和尾开始进行逐一对比. 著名金融家"索罗斯"的名字"SOROS"就是一个回文字串. 例程 #include<iostream> #include<cmath> #include<cstring> using namespace s…
题目描述:给定一个区间,将这个区间里所有既是素数又是回文数的数输出来. 题目分析:这题的这个数据范围比较大,达到了10^8级别,而且输入的数据有多组,又因为判断一个数是否是回文数貌似只有暴力判断,时间限制是1000ms,所以如果对于每组数据输入都暴力判断的话,应该就TLE了,那么我们该怎么办呢.我们想到回文数本来就不多,再加上还必须要是素数,猜想数据范围虽然非常大,但是在这个区间里面满足条件的数应该不多,我算了一下,只有700多个,所以我们很自然地想到用离线打表,将这个区间内所有的满足条件的数存…
有人问我这个问题. 个人感觉暴搜会TLE O(n*sqrt(n)).n=100000000:(推断素数用2~sqrt(n)+1 去除) 还是枚举好了. 枚举 1~10000,把他每一位存下来,回文数已知 left .求 right ,然后组合起来. 比如 1 ,推断 11 是否素数. 比如 10 .推断 101 是否素数, 推断 1001 是否素数. 这样复杂度就是 O(n^2). 開始我 bool pa[100000000] 准备用标记来确定. 结果MLE. 然后算了一下 总共同拥有多少个数,…
回文素数 Time Limit: 2000/1000ms (Java/Others) Problem Description: 131号是一个主回文,因为它是一个素数和一个回文(当向后读时,它是相同的数字).编写一个程序, 计算两个提供的数字a和b (5 <= a <b <= 10 ^ 8)范围内的主回文数; a和b都被认为在范围内. 例如,范围5-120包含3个主要回文(5,7,11,101). Input: 输入包含多个案例.每个案例包含两个整数a和b. Output: 对于每种情况…
Description - 问题描述 有一天,雄霸传授本人风神腿法第一式:捕风捉影..............的步法(弟子一:堂主,你大喘气呀.风:你给我闭嘴.)捕风捉影的关键是换气(换不好就会大喘气...). 使用捕风捉影这一招时并不是每一步都喘气,而是在特定的步数喘气.一般来说功力越高,喘气越稀疏.喘气的步数符合特定规律:第一要是SUSHU(弟子二:哇塞!堂主,你还会鸟语,我好好崇拜你呦!可是SUSHU是什么意思呢?风:笨蛋,那是汉语拼音!)第二要是一个回文数,回文数就是正反念一样的数,如:…
思路:这题下午搞了然后一直WA,后面就看了Discuss,里面有个数组:ABCDEFDCBA,这个我输出ABCD,所以错了. 然后才知道自己写的后缀数组对这个回文子串有bug,然后就不知道怎么改了. 然后看题解,里面都是用RMQ先预处理随意两个后缀的最长公共前缀,由于不太知道这个,所以又看了一下午,嘛嘛-- 然后理解RMQ和后缀一起用的时候才发现事实上这里不用RMQ也能够,仅仅要特殊处理一下上面这个没过的样例即可了,哈哈--机智-- 解法一: 这个是不用RMQ做的: #include<iostr…
素数回文 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 23082    Accepted Submission(s): 5399 Problem Description xiaoou33对既是素数又是回文的数特别感兴趣.比如说151既是素数又是个回文.现在xiaoou333想要你帮助他找出某个范围内的素数回文数,请你写个程序找出 a…
Find the smallest prime palindrome greater than or equal to N. Recall that a number is prime if it's only divisors are 1 and itself, and it is greater than 1. For example, 2,3,5,7,11 and 13 are primes. Recall that a number is a palindrome if it reads…
+二分法求平方根 x = float(raw_input('Enter the number')) low = 0 high = x guess = (low + high ) / 2 if x < 0: print 'Number Error' while abs(guess**2 - x) > 1e-5: if guess**2 < x: low = guess else: high = guess guess = (low + high) / 2 print 'The root o…
链接:https://ac.nowcoder.com/acm/contest/330/I来源:牛客网 题目描述 自从 Applese 学会了字符串之后,精通各种字符串算法,比如……判断一个字符串是不是回文串. 这样的题目未免让它觉得太无聊,于是它想到了一个新的问题. 如何判断一个字符串在任意位置(包括最前面和最后面)插入一个字符后能不能构成一个回文串? 输入描述: 仅一行,为一个由字母和数字组成的字符串 s. 输出描述: 如果在插入一个字符之后可以构成回文串,则输出"Yes", 否则输…
The Problem to Slow Down You Problem's Link: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=141572 Mean: 给你两个字符串,求这两个字符串相同回文串的匹配对数. analyse: 每个字符串建一棵回文树,分别从0结点和1结点两棵树一起往下dfs,对于同一条路径上的结点,一定是相同的回文,然后两个的数量相乘加到answer中. Time complexity: O(N)…
P1217 [USACO1.5]回文质数 Prime Palindromes 题目描述 因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数. 写一个程序来找出范围[a,b](5 <= a < b <= 100,000,000)( 一亿)间的所有回文质数; 输入输出格式 输入格式: 第 1 行: 二个整数 a 和 b . 输出格式: 输出一个回文质数的列表,一行一个. 输入输出样例 输入样例#1: 5 500 输出样例#1: 5 7 11 101…
Problem Description As we know, Rikka is poor at math. Yuta is worrying about this situation, so he gives Rikka some math tasks to practice. There is one of them: One day, Yuta got a string which contains n letters but Rikka lost it in accident. Now…
from math import sqrt number=int(input('请输入一个整数:')) def is_prime(num): for rea in range(2,int(sqrt(num)+1)): if num%rea==0: return False return True if num !=1 else False def is_palindrome(num): temp=num total=0 while temp>0: total=total * 10+temp %…
题目传送门 题意:给出一个字符串,将字符串中所有的回文子串全部放入一个集合里,去重后.问这个集合里有几对<a,b>,使得a是b的子串. 思路:一开始想偏了,以为只要求每个回文串的回文后缀的数量加去掉开头结尾字符的数量就可以了.事实上,如果我们把去掉两个字符的字符串称为父节点,那么父节点的回文后缀和自己也能形成这样的pair. 设一个字符串x能产生的贡献为$dp[x]$,我们考虑x能产生的贡献是什么呢? 一个是和自己本身的所有回文后缀结合产生的贡献,这一个可以通过回文树上跳fail来完成. 一个…
/* set里的一定是本质不同的回文串,所以先建立回文树 当a可以通过nxt指针到达b,或者b可以通过fail指针到达a时,a就是b的子串 对于回文树里的每个结点u,我们可以将和其有关的结点为两部分: 1.结点下方的子树,这部分的所有结点都可以由u在两边加点得到,设大小为 size[u] 2.结点向上的fail链,这条链上的所有结点都是u的回文后缀,设大小为 tot[u] 那么所有fail链上的点都是u的子树的子串,所以u的贡献为size[u]*tot[u] 然后还要去重:对于u的子孙v, v的…
这题建立一棵回文树,然后用dfs搜索答案,但是有一点需要注意,就是打vis的标记时,如果标记为1,那么在好几个节点都对同一个字符i打过标记,此时的搜索从字符i点回溯,回到它的父亲节点,搜索其它的字符,回溯的时候把vis[i]标记成0了,之前的vis[i]标记全被清空了,如果该父亲的其它字符节点下,有字符i的孩子,则此时统计就会出错.所以打vis标记的时候让vis++,而不是标记为0. #include <iostream> #include <stdio.h> using name…
题目传送门 题意 给一个字符串s,然后将s中所有本质不同回文子串放到一个集合S里面,问S中的两个元素\(a,b\)满足\(a\)是\(b\)的子串的个数. 分析 首先要会回文树(回文自动机,一种有限状态自动机) 然后可以很轻松的求出来S集合,我们拿出一个样例画出回文树看一下 abacaba 注: 上图中结点序号只是为了方便描述,与实际建树并不一定相同 0和1分别为偶数根和奇数根,黄边为fail边,总共有7个本质不同的回文串. 在计算答案时,我们从上到下统计,例如计算aba作为母串时的答案,那么子…
神奇的结论: 一个字符串的所有回文后缀的长度,可以形成$k$个等差数列,$k$是$log$级的 考虑前$R$个字符组成的字符串,对于一个等差数列,假设组成这个等差数列的回文串,最短的叫$a$,最长的叫$b$ 对于右端点是$R$的询问,左端点在$[b$上一次出现的位置开头$+1$,$a$的开头$]$这一段区间的话,$ans$要$+1$ 不会证 自己画了画感觉好像挺对的 知道这个之后只要建出来回文树 询问按右端点排序 每做到一个点回答关于它的询问 最后一次出现的位置用线段树维护 区间加用树状数组维护…
P1217 [USACO1.5]回文质数 Prime Palindromes 题目描述 因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数. 写一个程序来找出范围[a,b](5 <= a < b <= 100,000,000)( 一亿)间的所有回文质数; 输入输出格式 输入格式: 第 1 行: 二个整数 a 和 b . 输出格式: 输出一个回文质数的列表,一行一个. 输入输出样例 输入样例#1: 复制 5 500 输出样例#1: 复制 5 7…
P1217 [USACO1.5]回文质数 Prime Palindromes 题意:给定一个区间,输出其中的回文质数: 学习了洛谷大佬的回溯写法,感觉自己写回溯的能力不是很强: #include <cstdio> #include <iostream> #include <cmath> ; using namespace std; int a[maxn],l,r; bool is_prime(int n) //判断素数 { int x = sqrt(n); ;i<…
目录 题目链接 题意 思路 代码 题目链接 传送门 题意 问\(s\)串中所有本质不同的回文子串中有多少对回文子串满足\(a\)是\(b\)的子串. 思路 参考代码:传送门 本质不同的回文子串肯定是要用回文树的啦- 在建好回文树后分别对根结点为\(0,1\)的子树进行\(dfs\),处理出以每个结点为根结点的子树的大小\(sz\)(也就是说有多少个回文子串以其为中心)和其\(dfs\)序,回文子串包含除了作为其他回文子串的中心被包含外,还可以不作为中心被包含,而这一部分则需要靠回文树的\(fai…
回文树学习博客:lwfcgz    poursoul 边写边更新,大概会把回文树总结在一个博客里吧... 回文树的功能 假设我们有一个串S,S下标从0开始,则回文树能做到如下几点: 1.求串S前缀0~i内本质不同回文串的个数(两个串长度不同或者长度相同且至少有一个字符不同便是本质不同) 2.求串S内每一个本质不同回文串出现的次数 3.求串S内回文串的个数(其实就是1和2结合起来) 4.求以下标i结尾的回文串的个数 每个变量的含义 1.len[i]表示编号为i的节点表示的回文串的长度(一个节点表示…