题解 [51nod1385] 凑数字】的更多相关文章

题面 解析 首先设\(n\)有\(l\)位, 那么对于前\(l-1\)位,\(0\)~\(9\)都是要选上的, 而对于最高位上的数\(x\),\(1\)~\(x-1\)也是要选上的. 到这里就有了\(10*(l-1)+x-1\) 而我们还要考虑最高位的数\(x\)能不能省(比如说样例就能省). 设一个数\(sum\)有\(l\)位,每一位都为\(x\), 如果省掉的话,我们能表示的数就一定小于\(sum\), 因为\(sum\)有一位一定表示不出. 因此我们只需要判断\(n\)与\(sum\)的…
[题解]选数字 [51nod1354] 传送门:选数字 \([51nod1354]\) [题目描述] 共 \(T\) 组测试点,每一组给定一个长度为 \(n\) 的序列和一个整数 \(K\),找出有多少子序列满足子序列中所有元素乘积恰好等于K,答案对 \(1e9+7\) 取模. [样例] 样例输入: 2 3 3 1 1 3 3 6 2 3 6 样例输出: 4 2 [数据范围] \(100\%\) \(1 \leqslant T \leqslant 20,\) \(1 \leqslant N \l…
P2602 [ZJOI2010]数字计数 题目描述 给定两个正整数 \(a\) 和 \(b\) ,求在 \([a,b]\) 中的所有整数中,每个数码(digit)各出现了多少次. 输入格式 输入文件中仅包含一行两个整数\(a,b\),含义如上所述. 输出格式 输出文件中包含一行 \(10\) 个整数,分别表示 \(0-9\) 在 \([a,b]\) 中出现了多少次. 说明/提示 \(30\%\)的数据中,\(a<=b<=10^6\): \(100\%\)的数据中,\(a<=b<=1…
1.题目描述 X is a good number if after rotating each digit individually by 180 degrees, we get a valid number that is different from X. Each digit must be rotated - we cannot choose to leave it alone.  A number is valid if each digit remains a digit afte…
嚯嚯嚯,这道题很显然是削弱版的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…
直接硬搜就可以了,只是需要考虑k为0的情况. public class Solution { /* * @param : An integer * @param : An integer * @return: An integer denote the count of digit k in 1..n */ public int digitCounts(int k, int n) { int ans = (k==0 ? 1 : 0); for(int i=0; i<=n; i++){ ans +…
Problem bzoj2818-单组询问-无权限 bzoj2693-多组询问-需权限 洛谷1829-单组询问-无权限 \(T\)组询问(如果有),给定 \(n,m\),求 \[\sum_{i=1}^n\sum_{j=1}^mlcm(i,j) \pmod {100000009}\] \(T\leq 10^4,N,M\leq 10^7\) Solution ┗|`O′|┛ 这两题花了我一整张草稿纸啊 首先明确将\(lcm\)转成\(gcd\)会更好做:\(lcm(x,y)=\frac {xy}{\…
Link #include<bits/stdc++.h> using namespace std; #define int long long const int MAXN=1e6; int T,n,m,f[MAXN+10],g[MAXN+10],inv[MAXN+10]; const int mod=1e9+7; inline int add(int x,int y){return (x+y+mod)%mod;} inline int mul(int x,int y){return 1ll*…
[题解][P2602ZJOI2010]数字计数 乍看此题,感觉直接从数字的位上面动手,感觉应该很容易. 但是仔细看数据范围,发现如果不利用计数原理,肯定会超时,考虑数码出现的特征: \(A000\)到\(A999\),四位数中的\(A\)总共出现了\(999-0+1\)次.假设\(A\)在第\(k\)位上,那么它出现了\(10^{k-1}\)次.记录一下这个的前缀和.特别注意的是, 由\(dp(i)\rightarrow dp(i+1)\)时,要\(dp(i+1)=10dp(i)+10^{i-1…
一.Description The digital root of a positive integer is found by summing the digits of the integer. If the resulting value is a single digit then that digit is the digital root. If the resulting value contains two or more digits, those digits are sum…
Time Limit: 1 second Memory Limit: 50 MB [问题描述] 给定一个只包含数字[0..9]的字符串,请使用字符串中的某些字符,构建一个能够整除15最大的整数.注意,字符串中的每个字符只能使用一次. 任务:求由给定字符串构造的能够整除15的最大整数 [输入] 共1行: 输入数据为一个只包含数字[0..9]字符串,字符串的长度为1..1000.如果无法构建出该数字,请输出"impossible". [输出] 输出一行数字串,表示能够整除15的最大整数.…
链接:Problem - 1551B2 - Codeforces 题意:有m个颜色,要求每种颜色内的数字各不相同,问,颜色的最大长度多少. 题解:  判断每个数字的个数,如果大于m,那么最大长度就加一,不大于就都加到一起,看看最后能凑几对. #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<ll,ll> pll; const int N=2e5+1; ll a[N],p[N…
传送门 Description Using at most 7 matchsticks, you can draw any of the 10 digits as in the following picture: The picture shows how many sticks you need to draw each of the digits. Zaytoonah has a number that consists of N digits. She wants to move som…
E. Vladik and cards 题目链接 http://codeforces.com/contest/743/problem/E 题面 Vladik was bored on his way home and decided to play the following game. He took n cards and put them in a row in front of himself. Every card has a positive integer number not e…
题目: Convert a non-negative integer to its english words representation. Given input is guaranteed to be less than 231 - 1. For example, 123 -> "One Hundred Twenty Three" 12345 -> "Twelve Thousand Three Hundred Forty Five" 1234567…
CA Loves GCD 题目链接: http://acm.hust.edu.cn/vjudge/contest/123316#problem/B Description CA is a fine comrade who loves the party and people; inevitably she loves GCD (greatest common divisor) too. Now, there are different numbers. Each time, CA will se…
题意:求一列数字中走向相同的两个字序列,长度要求大于5 题解:相邻数字求差,原题就变成求相同的长度大于4的子串. [存疑:在保证两个子串不相交时觉得限定条件应该是大于x,但是wa了= = 不是很理解] /************************************** Problem: 1743 User: G_lory Memory: 1392K Time: 204MS Language: G++ Result: Accepted *************************…
10399: F.Turing equation Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 151  Solved: 84 [Submit][Status][Web Board] Description The fight goes on, whether to store  numbers starting with their most significant digit or their least  significant digit…
[BZOJ1058][ZJOI2007]报表统计 题面 题目描述 Q的妈妈是一个出纳,经常需要做一些统计报表的工作.今天是妈妈的生日,小Q希望可以帮妈妈分担一些工作,作为她的生日礼物之一. 经过仔细观察,小Q发现统计一张报表实际上是维护一个非负整数数列,并且进行一些查询操作. 在最开始的时候,有一个长度为N的整数序列,并且有以下三种操作: INSERT i k:在原数列的第i个元素后面添加一个新元素k:如果原数列的第i个元素已经添加了若干元素,则添加在这些元素的最后(见下面的例子) MIN_GA…
标签页和窗口快捷键 操作 快捷键 打开新窗口 Ctrl + n 在隐身模式下打开新窗口 Ctrl + Shift + n 打开新的标签页,并跳转到该标签页 Ctrl + t 重新打开最后关闭的标签页,并跳转到该标签页 Ctrl + Shift + t 跳转到下一个打开的标签页 Ctrl + Tab 或 Ctrl + PgDn 跳转到上一个打开的标签页 Ctrl + Shift + Tab 或 Ctrl + PgUp 跳转到特定标签页 Ctrl + 1 到 Ctrl + 8 跳转到最后一个标签页…
Problem UVA116-Unidirectional TSP Accept: 7167  Submit: 56893Time Limit: 3000 mSec Problem Description Input The input consists of a sequence of matrix specifications. Each matrix specification consists of the row and column dimensions in that order…
题意:给一个数组,每次会删去连续重复两次的左侧部分及前面,有多个重复部分找长度最小和最靠左的部分,重复的数字最多10次 题解:根据重复数字只有10次,我们离散化后,以每两个相同数字作为起点能确定这重复的部分,一共10*n对,接下来问题就是判断这两部分是不是相同的,建sa用st表求lcp即可,然后对所有可能的对按题意sort,往后删除即可 //#pragma GCC optimize(2) //#pragma GCC optimize(3) //#pragma GCC optimize(4) //…
https://ac.nowcoder.com/acm/contest/393/C 题意 给你一个矩阵, 每次从每行挑选一个数,组成一个排列,排列的和为不重复数字之和,求所有排列的和(n,m<=2000,a[i]<=1e9) 题解 假如计算数字x的贡献的话,x只会对所在排列最多贡献一次,那么只需要计算有多少排列含有x 反着计算每个数字的贡献,(总情况-包含这个数字的情况)*x 代码 #include<bits/stdc++.h> #define ft first #define s…
题意:有n个数字,带入10000 - (100 - ai) ^ 2公式得到n个数,输出n个数中频率最大的数,如果有并列就按值从小到大都输出输出,如果频率相同的数字是全部的n个数,就输出Bad....题解:统计数字个数和频率,排序后输出. Sample Input36100 100 100 99 98 1016100 100 100 99 99 1016100 100 98 99 99 97 Sample OutputCase #1:10000Case #2:Bad MushroomCase #3…
原题链接在这里:https://leetcode.com/problems/path-sum-iv/description/ 题目: If the depth of a tree is smaller than 5, then this tree can be represented by a list of three-digits integers. For each integer in this list: The hundreds digit represents the depth …
[算法]数学 [题意]a数组初始为0,t=1~n,每次01翻转t的倍数,最终为0的数字定义为好数,求好数个数 [题解]一个数字为好数的条件是翻转偶数次,也即一个数是好数当且仅当有偶数个因子时. 因子都是两两配对的,只有完全平方数才拥有奇数个因子. 对于n以内的数字,1~√n的平方就是所有完全平方数. ans=n-√n. #include<cstdio> #include<math.h> int main(){ long long n; scanf("%lld",…
原题链接在这里:https://leetcode.com/problems/output-contest-matches/description/ 题目: During the NBA playoffs, we always arrange the rather strong team to play with the rather weak team, like make the rank 1 team play with the rank nth team, which is a good…
[UOJ#278][UTR #2]题目排列顺序 试题描述 “又要出题了.” 宇宙出题中心主任 —— 吉米多出题斯基,坐在办公桌前策划即将到来的 UOI. 这场比赛有 n 道题,吉米多出题斯基需要决定这些题目的难度,然后再在汪洋大海中寻找符合该难度的题目. 题目的难度可以用一个 1 到 n 的排列 a1,…,an 表示,其中 ai 表示第 i 道题目在这 n 道题目中是第 ai 简单的题目,即恰有 ai−1 道题目比第 i 道题目简单. 经验丰富的吉米多出题斯基早就悟出了一种科学地决定难度顺序的方…
Code: #include <cstdio> #include <algorithm> #include <cmath> #include <cstring> #define setIO(s) freopen(s".in","r",stdin) #define maxn 200000 #define pi 3.1415926535898 using namespace std; int len=1,l,r[maxn&…
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 每个数字有3种选择. 1.选中它. 2.选中它且加阶乘符号 3.不选中它(即计算和的时候不考虑它) 如果我们直接暴力写的话复杂度是\(3^{25}\) 寻求优化. 我们可以用Meet-in-the-middle这个方法. 先求出1..n/2这些数字的组合方式. 用map<ll,ll> dic[25]来存它们的和. dic[i][j]表示前n/2个数字中选了i个[2]状态的数字,和为j的方案数. 则我们再穷举n/2+1..n这些…