[Luogu2359] 三素数数】的更多相关文章

题目背景 蛟川书院的一道练习题QAQ 题目描述 如果一个数的所有连续三位数字都是大于100的素数,则该数称为三素数数.比如113797是一个6位的三素数数. 输入输出格式 输入格式: 一个整数n(3 ≤ n ≤ 10000),表示三素数数的位数. 输出格式: 一个整数,表示n位三素数的个数m,要求输出m除以10^9 + 9的余数. 输入输出样例 输入样例#1: 复制 4 输出样例#1: 复制 204 说明 区域动归QAQ 设$f[i][j]$表示i位,最后两位是j的方案数. 可以预处理出来素数,…
问题描述: 三逆数定义:给一个数的序列A[0,1,....N-1]),当i<j<k且A[i]>A[j]>A[k]时,称作ai,aj,ak为一个三逆数. 现在给定一个长度为N的数组,求此数组序列中存在三逆数的总个数. 本人暂时只想到O(N^2)时间复杂度的解法.不知道还没有没更好更快的解法.(谁有更好的解法,欢迎分享~) O(N^3)解法: 这个最直观了,直接三层循环进行统计,即可求和三逆数总和.代码太简单了,就略过了~ O(N^2)解法: 1.进行预处理,先用R[1..N]数组记录…
[算法]简单动态规划——三逆数的O(N^2)解法! 问题描述: 三逆数定义:给一个数的序列A[0,1,....N-1]),当i<j<k且A[i]>A[j]>A[k]时,称作ai,aj,ak为一个三逆数. 现在给定一个长度为N的数组,求此数组序列中存在三逆数的总个数. 本人暂时只想到O(N^2)时间复杂度的解法.不知道还没有没更好更快的解法.(谁有更好的解法,欢迎分享~) O(N^3)解法: 这个最直观了,直接三层循环进行统计,即可求和三逆数总和.代码太简单了,就略过了~ O(N^2…
http://210.34.193.66:8080/vj/Contest.jsp?cid=162#P7 思路:用并查集合并集合,最后遍历,找到集合的根的个数. 并查集是森林,森林中的每一颗树是一个集合.我们用一个数组,数组的下标是元素的值.数组存放着其父节点的位置.这样我们就能用数组画出多颗树. 也就是并查集. 初始化并查集,n含义如题. 在并查集中查找数值为x的根节点.根节点的父节点就是本身,当不是跟节点是,继续找. 并查集路径压缩(优化).在获得了跟节点后,把查找过程中遇到的节点比属于同一集…
Keil UV3一直存在汉字显示(0xFD)的bug,以前在用到带字库的12864液晶的时候,“数”字总是不能正常显示,后来有网友告诉我这是keil的bug,解决掉了.后来keil升级了,我也换了新版本Keil UV4,把Keil UV3存在汉字显示bug的这个问题给忘记了,最近又用到12864液晶,发现Keil UV4编译出来的程序还是不能正常显示“数”字,又去查了一遍液晶说明书里的字库,发现里面有“数”字,突然想起来Keil UV3的bug,然后照以前的办法修改了Keil UV4的bug,现…
/** * 描述:任意输入两个数n,m(n<m)判断n-m之间有多少个素数,并输出所有素数. * 分析:素数即质数,除1和本身之外,不能被其他自然数整除的数. * 判断素数的方法为:用一个数分别去除2到sqrt(这个数),如果能被整除,这表明此数不是素数,反之是素数. * 作者:徐守威 */ package com.xushouwei; import java.util.*; public class T2 { /** * @param args */ public static void ma…
问题的提出: 俄罗斯方块允许90度的坡,是不是有点不够科学#(滑稽) 想办法加一种会“滑坡”的方块 本文两大部分: 详细的描绘是怎样的“流动” 写代码,并整合进游戏 本文基于我写的 俄罗斯方块(一):简版 事先上两个动图, 说明下我想做什么 第一部分 首先是假象图 这是一个长条逐渐“瘫软”的过程 归纳规律,其实只有两种移动 1下方没有方块时:向下方滑落 2下方有方块时:向左下或者右下滑落 但是这两条是不够的 下面展示一种例外 左边的比右边“更科学” 显然,需要再加一条规则“规则三:下方的方块先行…
规格化设计历史 规格化设计的历史目前网上的资料并不多,百度谷歌必应也表示无能为力...... 在这里结合现实情况讲一讲自己对程序规格化的理解,首先代码规格化对代码的影响是间接的,或许它不能让你代码里面的bug直接消失,或许它也不能让电梯之间不相互阻塞,但是它能让OO实验拿到更多分啊//笑.玩笑归玩笑,下面具体分析一下规格化设计(JSF为例)的作用: 在代码实现过程中,人们往往不能从一开始对整个项目的每个细节都面面俱到地思考一遍,规格化设计在开发初期可以将项目中的细节隐去,工程师只需要考虑类or包…
枚举1--求小于n的最大素数 总结: 素数是不能被比它小的素数整除. /* 枚举就是基于已有知识镜像答案猜测的一种问题求解策略 问题:求小于n的最大素数 分析: 找不到一个数学公式,使得根据N就可以计算出这个素数 我们思考: N-1是素数么?N-2是素数吗?... 所以我们就是判断N-K是否为素数: N-K是素数的充分必要条件:N-K不能被[2,n-k)中任何一个整除 判断N-K是否为素数的问题可以转化为: 求小于N-K的全部素数(求“小于N的最大素数”中的条件是“n不能被[2,n)中任意一个素…
905 AlvinZH的奇幻猜想--三次方 思路 中等题.题意简单,题目说得简单,把一个数分成多个立方数的和,问最小立方数个数. 脑子转得快的马上想到贪心,从最近的三次方数往下减,反正有1^3在最后撑着保证减完.不好意思这是错的,因为1,27,64,125...等立方数之间并不是倍数关系,不能构成贪心策略.举个反例:96=64+8+8+8+8=64+27+1+1+1+1+1,答案明显是5,而贪心会算到7. 既然不是贪心,那就是DP了,没毛病.先讲一下常规做法吧,是这样想的:相当于把一个数化成几份…
机器数(这里的机器数说的就是数值在计算机中的存储形式,相关可以了解数据在计算机中的表示)之间的转换往往是通过原码来实现的,下面我们结合进制来来一下: 进制也就是进位制,是人们规定的一种进位方法. 对于任何一种进制---X进制,就表示某一位置上的数运算时是逢X进一位. 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位.二进制就是逢2进1,八进制就是逢8进1,以此类推;对于整数常量,Java语言支持常见的三种进制,八进制 十进制 十六进制; 十进制转换为二进制…
The count-and-say sequence is the sequence of integers beginning as follows:1, 11, 21, 1211, 111221, ... 1 is read off as "one 1" or 11.11 is read off as "two 1s" or 21.21 is read off as "one 2, then one 1" or 1211. Given an…
较早的编译器是不同意这样做的,所以一些书籍比方以Tc解说的书本都说数组的下标不能是变量.在vc6.0下亦是如此. 只是在一些较新的编译器如dev c++已经支持了,例如以下代码不会报错 #include <stdio.h> #include <stdlib.h> int main() { int a; int i; scanf("%d",&a); int c[a]; for( i =0 ;i<a;i++) scanf("%d",…
一.先是一些整除的性质: •整除:若a=bk,其中a,b,k都是整数,则b整除a,记做b|a. •也称b是a的约数(因数),a是b的倍数 •显而易见的性质: •1整除任何数,任何数都整除0 •若a|b,a|c,则a|b+c, a|b-c •若a|b,则对任意整数c,a|bc •传递性:若a|b,b|c,则a|c 例1: •例题:[CF 762A]k-th divisor •求n的第k小的约数.如果不存在输出-1 •1 ≤ n ≤ 10^15, 1 ≤ k ≤ 10^9 分析:这道题显然不能用O(…
素数3, 7, 109, 673很有意思,从中任取两个素数以任意顺序拼接起来形成的仍然是素数.例如,取出7和109,7109和1097都是素数.这四个素数的和是792,是具有这样性质的四个素数的最小的和.求满足以上性质的五个素数的最小的和. 分析:这道题的解法非常让人出人意料,这个问题实际上和图论中的的分团问题有关.要理解这个问题,我们需要知道一点图论中的基础知识.如果你已经对图论比较了解了,这一段可以跳过.图论属于组合数学的一个分支,图是图论的主要研究对象.所谓图是指由若干给定的顶点及连接两顶…
今天是林永迪老师的讲授~ 继续昨日的贪心内容. 我们继续看例题: 分析样例的过河方法: 首先1和2先过河,总时间为2: 然后1回来,总时间为3: 然后5和10过河,总时间为13: 然后2回来,总时间为15: 然后1和2过河,总时间为17: 一个很强烈的贪心思路:最慢和次慢的两个人一定要一起过河: 证明: 假设我们有四个人 A B C D,他们过河时间是依次增大的. 假如我们有两种过河的方案: 1.让过河最快的人A来回将三个人送过河:AC + A + AD + A + AB: 2.先让最快的两人A…
<script type="text/javascript"> /*1.X3 * 6528 = 3X * 8256 X为一个数字 填入一个数字 使等式成立*/ for (var x = 0; x < 10; x++) { if ((10*x + 3) * 6528 == (3*10 + x) * 8256) { document.write(x); } } document.write("<br>"); /* 2.在页面上输出以下图形…
前一段时间工作比较闲,每天没有代码敲的日子有点无聊,于是为了保证自己的编程逻辑力的日常清醒,故百度了一些经典的java算法,然后自己思考编程解决问题,虽然那些东西比较基础了,但是有些题目小编看到了也是要思考一段时间的,可能网上也有各色各异的解决代码,但是本章的解决代码却是独一份的,包含了小编的思想在里面,废话不多说了,上题目上代码. 代码请看下方: package com.zaevn.testone;import org.junit.Test;import java.util.*;/** * 经…
一.冒泡排序 var bubble = function(arr){ ;i<;i++){ ;j<-i;j++){ ]){ temp = arr[j]; arr[j] = arr[j+]; arr[j+] = temp; } } } return arr; } 二.插入排序 var insersort = function(arr){ ;i<;i++){ temp = arr[i]; j = i; && arr[j-] > temp){ arr[j] = arr[j-…
话说2015.11.06 ,北京下了第一场雪.16年的今天没下雪,但是雾霾还是不小的,帮媳妇整理她工作时,出现了下面的需求,便想到使用PHP来写程序来进行求解. [需求] 1. 给出一个平均值X,反过来求出来,得到这个平均值X的三个数X1 ,X2, X3,最大值与最小值的差值要小于0.4(X1-X3都是保留1位小数的数) 2. 这三个数X1, X2, X3代表了三组数.满足下面的公式: X1 = [(m1 - m2)/(m1 - m0) ] * 100 (@1); m0, m1, m2三个数的边…
Mayor's posters 转载自:http://blog.csdn.net/winddreams/article/details/38443761 [题目链接]Mayor's posters [题目类型]线段树+离散化 &题意: 给出一面墙,给出n张海报贴在墙上,每张海报都覆盖一个范围,问最后可以看到多少张海报 &题解: 海报覆盖的范围很大,直接使用数组存不下,但是只有最多10000张海报,也就是说最多出现20000个点,所以可以使用离散化,将每个点离散后,重新对给出控制的区间,这样…
介绍 茎叶图(Stem-and-Leaf display)又称“枝叶图”,由统计学家约翰托奇( Arthur Bowley)设计,它的思路是将数组中的数按位数进行比较,将数的大小基本不变或变化不大的位作为一个主干(茎),将变化大的位的数作为分枝(叶),列在主干的后面,这样就可以清楚地看到每个主干后面的几个数,每个数具体是多少. 三列数 茎叶图有三列数:左边的一列数统计数,它是上(或下)向中心累积的值,中心的数(带括号)表示最多数组的个数:中间的一列表示茎,也就是变化不大的位数:右边的是数组中的变…
使用C/C++,赋值运算时发生的转换主要有以下四种情况 一: 两边类型不同: 结果: 自动完成类型转换! 二: 长数赋给短数: 结果: 截取长数的低位送给短数! 三: 短数赋给长数: 结果: 原来是什么数,现在还是什么数! 四: 符号位的赋值处理: 结果: 直接处理,不管符号位还是数字位: #-------------------------------------------------------------------------------------------------------…
题目意思:给定一系列数对,例如a和b,表示a和b不是同一种性别,然后不断的给出这样的数对,问有没有性别不对的情况. 例如给定: 1    2 3    4 1    3 那这里就是说1和2不是同种性别,3和4也不是同种性别,1和3不是同种性别,那这样就说明1和3是同一种性别,2和4是同一种性别,所以没有任何歧义,这时候输出No suspicious bugs found!. 但是例如 1 2 2 3 1 3 1和2不同性别,2和3不同性别,那么1和3同一性别的,但是第三组数对又表明1和3不同性别…
题目链接:http://codeforces.com/problemset/problem/342/A 题目意思:给出n个数,找出n/3个组且每组有3个数,这三个数必须要符合两个条件:1.a < b < c:2.b mod a = 0 和 c mod b =0.如果找不到,输出-1. 其实每组内只可能是这三组数的其中一组:1 2 4: 1 2 6: 1 3 6 以下注释部分读者可以直接忽略. /* 刚开始想得很复杂,三个数组分别存储初始数s,记录已输出的数 vis 还有经判断符合条件将要输出的…
一.前言 变量的类型划分即内存中的存放位置如图: 变量的生命周期如图:…
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5693 题解: 一种朴实的想法是枚举选择可以删除的两个或三个数(其他的大于三的数都能凑成2和3的和),删掉.然后一直递归下去.但删除子串的操作不容易,而且搜索复杂度有点大,记忆化判相同子序列也不容易. 可以看出,这些问题都是由于删除这个操作引起的. 因此为了保证dp的可操作性,我们没必要真的删除,另dp[l][r]表示区间[l,r]能删除的最大个数,如果dp[l][r]==r-l+1说明这一段是都可…
思路: SG函数的应用,可取的值为不连续的固定值,可用GetSG求出SG,然后三堆数异或. SG函数相关注释见代码: 相关详细说明请结合前一篇博客: #include<stdio.h> #include<string.h> #define N 1001 //f[]:可以取走的石子个数 //sg[]:0~n的SG函数值 //hash[]:mex{} int f[N],sg[N],hash[N]; void getSG(int n) { int i,j; memset(sg,,size…
博客地址 : http://blog.csdn.net/shulianghan/article/details/46680803 源代码下载 : http://download.csdn.net/detail/han1202012/8903437 正交投影效果 :  透视投影效果 :  一. 投影简单介绍 1. 摄像机位置 摄像机參数 : -- 摄像机位置 : 摄像机的 三维坐标位置 x, y, z 坐标; -- 观察方向 : 摄像机镜头的朝向, 是一个三维向量, 指向一个三维坐标方向; --…
Can you find it? Time Limit: 10000/3000 MS (Java/Others)    Memory Limit: 32768/10000 K (Java/Others)Total Submission(s): 17036    Accepted Submission(s): 4337 Problem Description Give you three sequences of numbers A, B, C, then we give you a number…