NOI 1.5 41:数字统计】的更多相关文章

描述 请统计某个给定范围[L, R]的所有整数中,数字2出现的次数. 比如给定范围[2, 22],数字2在数2中出现了1次,在数12中出现1次,在数20中出现1次,在数21中出现1次,在数22中出现2次,所以数字2在该范围内一共出现了6次. 输入 输入共 1 行,为两个正整数 L 和 R,之间用一个空格隔开. 输出 输出共 1 行,表示数字 2 出现的次数. 样例输入 样例 #1: 2 22 样例 #2: 2 100 样例输出 样例 #1: 6 样例 #2: 20 来源 NOIP2010复赛 普…
41:数字统计 总时间限制:  1000ms 内存限制:  65536kB 描述 请统计某个给定范围[L, R]的所有整数中,数字2出现的次数. 比如给定范围[2, 22],数字2在数2中出现了1次,在数12中出现1次,在数20中出现1次,在数21中出现1次,在数22中出现2次,所以数字2在该范围内一共出现了6次. 输入 输入共 1 行,为两个正整数 L 和 R,之间用一个空格隔开. 输出 输出共 1 行,表示数字 2 出现的次数. 样例输入 样例 #1: 2 22 样例 #2: 2 100 样…
最近在学数位DP, 感觉还是满有收获的! 做了几个题之后想起来自己OJ上曾经做的一道题,以前是用数学方法写的,现在改用数位DP来写了一遍. 题目: 1255: 数字统计 时间限制: 1 Sec  内存限制: 128 MB提交: 31  解决: 4[提交][状态] 题目描述 一本书的页码从自然数1 开始顺序编码直到自然数n.书的页码按照通常的习惯编排, 每个页码都不含多余的前导数字0.例如,第6 页用数字6 表示,而不是06 或006 等.数 字计数问题要求对给定书的总页码n,计算出书的全部页码中…
数字统计 背景 来自 NOIP2010 普及组 第一题 描述 请统计某个给定范围[L, R]的所有整数中,数字2出现的次数. 比如在给定范围[2, 22],数字2在数2中出现了1次,在数12中出现了1次,在数20中出现了1次,在数21中出现了1次,在数22中出现了2次,所以数字2在该范围内一共出现了6次. 格式 输入格式 输入共一行,为两个正整数L和R,之间用一个空格隔开. 输出格式 输出共1行,表示数字2出现的次数. 样例1 样例输入1 2 22 样例输出1 6 样例2 样例输入2 2 100…
题目链接:数字统计 这题很水. 思路就是:枚举每一个区间内的数,然后对于每一个数,每个位去判断是否为2,就行了. 下面上代码: #include<bits/stdc++.h> using namespace std; int main(){ int l,r; scanf("%d%d",&l,&r); int ans=0; for(int i=l;i<=r;i++){ int x=i; while(x>0){ int cur=x%10; if(cu…
数字统计:计算数字k在0到n中的出现的次数,k可能是0~9的一个值 样例:例如n=12,k=1,在 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],我们发现1出现了5次(1, 10, 11, 12) 1.Python class Solution: """ @param: : An integer @param: : An integer @return: An integer denote the count of digit k in…
今天给大家分享一款纯css3实现的数字统计游戏.这款游戏的规则的是将所有的数字相加等于72.这款游戏的数字按钮做得很美观,需要的时候可以借用下.一起看下效果图: 在线预览   源码下载 实现的代码. html代码: <h1> CSS Counter Game</h1> <section> <h2> Pick the numbers that add up to 72:</h1> <input id="a" type=&q…
1126 数字统计 2010年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver         题目描述 Description 请统计某个给定范围[L, R]的所有整数中,数字2出现的次数. 比如给定范围[2, 22],数字2在数2中出现了1次,在数12中出现1次,在数20中出现1次,在数21中出现1次,在数22中出现2次,所以数字2在该范围内一共出现了6次. 数据范围 1 ≤ L ≤ R≤ 10000. 输入描述 Input Des…
[ZJOI2010] 数字统计 题目 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次. INPUT 输入文件中仅包含一行两个整数a.b,含义如上所述 OUTPUT 输出文件中包含一行10个整数,分别表示0-9在[a,b]中出现了多少次. SAMPLE INPUT 1 99 OUTPUT 9 20 20 20 20 20 20 20 20 20 解题报告 第二道数位$dp$,找着点感觉了? 首先,我们预处理出来从低向高位数第$i$位数,每个数码出现的次数,…
ZJOI2010 数字统计 上题题意为求[l,r]区间中每个数字(0~9)出现的次数 一般的做法为将区间当成[0,r]-[0,l-1],然后进行数位DP 但事实上将区间当成[0,r]-[0,l-1]后可以有另一种方法求出[0,x]中k出现的次数 具体做法: 我们对于每一位,求出k在这一位的数中有多少小于等于x,累加即可.(注意0不能前导,要分开处理) #define ll long long inline ll query(ll x,int k){//询问[0,x]的数字中k出现的次数 ); l…
jQuery+PHP+Ajax实现的一款动态数字统计展示实例,本例是在页面上动态展示了当前在线用户数,当然了,你可以应用到其他更多场景中. 首先我们在#number放置要统计的数字: <div class="count">当前在线:<span id="number"></span></div> 然后我们要定义一个动画过程,使用jQuery的animate()函数实现从一个数字到另一个数字的变换过程,magic_numb…
数字统计   (two.pas/c/cpp) [问题描述] 请统计某个给定范围[L, R]的所有整数中,数字 2 出现的次数.  比如给定范围[2, 22],数字 2 在数2中出现了 1次,在数 12中出现 1 次,在数 20 中出现 1 次,在数 21 中出现 1 次,在数 22 中出现 2 次,所以数字 2 在该范围内一共出现了 6次.  [输入] 输入文件名为 two.in.  输入共 1 行,为两个正整数 L 和 R,之间用一个空格隔开.  [输出] 输出文件名为 two.out.  输…
之前的随笔中的程序在思考后发现,运用了太多的static 函数,没有将面向对象的思想融入,于是做出了一下修改: import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Scanner; public class classtest { List<String> number=new ArrayList<String>(); List<St…
题目: 统计一个字符串中数字和字符串的个数,并分别进行排列,要求 1.数字,字符串可以从键盘获取. 2.储存在list 3.统计数字个数,字符串个数 4.把数字和字符串按从小到大的顺序输出 5.不能使用数组. List的用法 List包括List接口以及List接口的所有实现类.因为List接口实现了Collection接口,所以List接口拥有Collection接口提供的所有常用方法,又因为List是列表类型,所以List接口还提供了一些适合于自身的常用方法.[自行百度] List接口提供的…
Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer).杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众.不吉利的数字为所有含有4或62的号码.例如:62315 73418 88914都属于不吉利号码.但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列.你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多…
题目描述 Description 请统计某个给定范围[L, R]的所有整数中,数字 2 出现的次数. 比如给定范围[2, 22],数字 2 在数 2 中出现了 1 次,在数 12 中出现 1 次,在数 20 中出现 1 次,在数 21 中出现 1 次,在数 22 中出现 2 次,所以数字 2 在该范围内一共出现了 6次.  输入输出格式 Input/output 输入格式:输入文件名为 two.in. 输入共 1 行,为两个正整数 L 和 R,之间用一个空格隔开.输出格式:输出文件名为 two.…
题目描述 请统计某个给定范围[L, R]的所有整数中,数字 2 出现的次数. 比如给定范围[2, 22],数字 2 在数 2 中出现了 1 次,在数 12 中出现 1 次,在数 20 中出 现 1 次,在数 21 中出现 1 次,在数 22 中出现 2 次,所以数字 2 在该范围内一共出现了 6 次. 输入输出格式 输入格式: 输入文件名为 two.in. 输入共 1 行,为两个正整数 L 和 R,之间用一个空格隔开. 输出格式: 输出文件名为 two.out. 输出共 1 行,表示数字 2 出…
题目描述 请统计某个给定范围[L, R]的所有整数中,数字 2 出现的次数. 比如给定范围[2, 22],数字 2 在数 2 中出现了 1 次,在数 12 中出现 1 次,在数 20 中出 现 1 次,在数 21 中出现 1 次,在数 22 中出现 2 次,所以数字 2 在该范围内一共出现了 6 次. 输入输出格式 输入格式: 输入文件名为 two.in. 输入共 1 行,为两个正整数 L 和 R,之间用一个空格隔开. 输出格式: 输出文件名为 two.out. 输出共 1 行,表示数字 2 出…
https://www.luogu.org/problem/show?pid=1179 题目描述 请统计某个给定范围[L, R]的所有整数中,数字 2 出现的次数. 比如给定范围[2, 22],数字 2 在数 2 中出现了 1 次,在数 12 中出现 1 次,在数 20 中出 现 1 次,在数 21 中出现 1 次,在数 22 中出现 2 次,所以数字 2 在该范围内一共出现了 6 次. 输入输出格式 输入格式: 输入文件名为 two.in. 输入共 1 行,为两个正整数 L 和 R,之间用一个…
题目 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次. 数位DP (1)分情况,逐位讨论. (2)模型:计算在[L,R]中有多少个数满足条件. (3)套路:将问题转化为[1,R]-[1,L-1],只需回答[1,X]的询问即可. 思路 1.算出[1,X]: (1)按位拆分,为后面做铺垫 (2)预处理: 1)pow[]表示10的次幂 2)f[]表示:后i位自由的话每个数字出现的次数 ps:有一个规律.0~9每个数字出现1次,10~99出现20次,100~99…
题目描述 Description 请统计某个给定范围[L, R]的所有整数中,数字2出现的次数. 比如给定范围[2, 22],数字2在数2中出现了1次,在数12中出现1次,在数20中出现1次,在数21中出现1次,在数22中出现2次,所以数字2在该范围内一共出现了6次. 数据范围 1 ≤ L ≤ R≤ 10000. 输入描述 Input Description 输入共1 行,为两个正整数L 和R,之间用一个空格隔开. 输出描述 Output Description 输出共1 行,表示数字2 出现的…
题目传送门 此题题意十分明确:就是让我们统计在[L , R]区间内的数字2出现的次数. 然后我们再看一看此题的数据范围:1≤L≤R≤100000,所以用n log n的复杂度是可以过的. 1.解题思路 我们只需枚举[L,R]区间内每个数字里共出现了多少个2. 2.解题步骤 first,枚举每个数字就不必多说了: for(int i = l ; i <= r ; i++)//i即为我们枚举的数字 { } second,对于每个数字i,统计2出现的次数时,我们需要一位一位去判断,具体方法见例子: 如…
从低位到高位数位DP,f[i][j][k]表示已经填了后i位,转化的数字为j,后i位与x后i位的大小关系为k的方案数. #include<cstdio> const int N=202,B=7,P=(1<<30)-1; char s[N];int T,n,y,i,j,k,t,a[N]; struct Num{ int x[B]; Num(){for(int i=0;i<B;i++)x[i]=0;} Num operator+(Num b){ Num c; for(int i=…
号码值统计 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 53462    Accepted Submission(s): 27366 Problem Description 统计给定的n个数中,负数.零和正数的个数.   Input 输入数据有多组,每组占一行,每行的第一个数是整数n(n<100),表示须要统计的数值的个数,然后是n…
在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任意一个重复的数字. 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2. 1.哈希法 2.定义备用数组,作为哈希使用,key是原数组每个元素 value是出现的次数 3.遍历哈希数组 hash for i=0i;<arr.length;i++ hash[arr[i]]++; foreach hash as…
数位dp解水题 luogu1179 dp[i][j]表示 有i位,且首位是j(包括0) 的 ‘2’的个数 dp[i][j]={ Σ(dp[i-1][k]),j!=2; Σ(dp[i-1][k])+val[i],j!=2; }其中val[i]为,十进制下,第i位的权值,在这里可以当作 如果 j是2 那会多计数几次来使用 令 work(x) 表示 0~x-1 中 '2' 的个数目标 work(r+1)-work(l);work()注意 在累加dp[i][j]的同时,统计之前出现了几次‘2’,记为t:…
嚯嚯嚯,这道题很显然是削弱版的51nod P1042. 那么显然我们需要使用数位DP解题. 思路大致是这样的: 对于每一个数字,考虑三种影响关系: 1. 它对低位的影响 2. 它对高位的影响 3. 高位对低位的影响 然后在递归中实现这三种关系的计算即可. AC代码: 1 #include <stdio.h> 2 #include <cstring> 3 #include <algorithm> 4 using namespace std; 5 #define CLR(a…
只会写60分算法QuQ 考虑到一个数$x$大于$\sqrt{x}$的质因数最多只有一个,我们可以筛出小于$\sqrt{r}$范围内的所有质因数然后直接用这些取分解质因数. 最后扫一遍发现还没有分解完的就累计到答案中去. 所有下标向左平移$l$位. 时间复杂度 $O(√r+ (r−l+ 1)loglog(r−l+ 1))$ Code: #include <cstdio> #include <cstring> using namespace std; typedef long long…
#include<iostream> #include<iomanip> #include<cstdlib> #include<ctime> #include<cmath> #include<vector> #include<map> #include<algorithm> #include<string> #include<sstream> using namespace std; i…
[链接] 我是链接,点我呀:) [题意] 题意 [题解] 因为区间的端点移动一个单位的话,只会涉及到一个元素的增多或减少. 因此可以用莫队算法来解决. 只需要开一个数组(大小1百万),用下标来快速检索元素的个数即可. [代码] #include <bits/stdc++.h> #define ll long long using namespace std; struct abc{ int l,r,id; }; const int N = 30000; const int Q = 200000…