【HDU2138】How many prime numbers】的更多相关文章

[题目大意] 给n个数判断有几个素数.(每个数<=2^32) 注意多组数据 [题解] 用Rabin_Miller测试跑得飞快... /************* HDU 2138 by chty 2016.11.5 *************/ #include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> #include<ctime> #include<…
http://acm.hdu.edu.cn/game/entry/problem/show.php?chapterid=2&sectionid=1&problemid=2 #include <stdio.h> #include <stdlib.h> #include <math.h> /* run this program using the console pauser or add your own getch, system("pause…
[BZOJ1662][Usaco2006 Nov]Round Numbers 圆环数 Description 正如你所知,奶牛们没有手指以至于不能玩"石头剪刀布"来任意地决定例如谁先挤奶的顺序.她们甚至也不能通过仍硬币的方式. 所以她们通过"round number"竞赛的方式.第一头牛选取一个整数,小于20亿.第二头牛也这样选取一个整数.如果这两个数都是 "round numbers",那么第一头牛获胜,否则第二头牛获胜. 如果一个正整数N的二…
[CF653G]Move by Prime 题意:给你一个长度为n的数列$a_i$,你可以进行任意次操作:将其中一个数乘上或者除以一个质数.使得最终所有数相同,并使得操作数尽可能小.现在我们想要知道$a_i$的所有子序列的操作数之和是多少.答案对$10^9+7$取模. $n,a_i\le 3\times 10^5$ 题解:显然要对每个质数分别处理.而对于每个质数,最终一定是让所有数都变成该序列的中位数最优.因此如果所有数的次数分别是$k_1,k_2...k_n$,则如果i在中位数左边,则贡献为$…
[LeetCode]165. Compare Version Numbers 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.me/ 题目地址:https://leetcode.com/problems/compare-version-numbers/description/ 题目描述: Compare two version numbers version1 and vers…
[链接] 我是链接,点我呀:) [题意] f[i]表示在x[]中有多少个数字是i的倍数 让你求出sum(f[i]) li<=i<=ri 且i是质数 [题解] 做筛法求素数的时候顺便把素数i在x[]中的倍数的个数求出来就好 前缀和 输出即可 [代码] import java.io.*; import java.util.*; public class Main { static InputReader in; static PrintWriter out; public static void…
Given a range [m, n] where 0 <= m <= n <= 2147483647, return the bitwise AND of all numbers in this range, inclusive. For example, given the range [5, 7], you should return 4. 思路: 先找前面二进制相同的位,后面不相同的位相与一定为0. 比如: 1111001 1110011 从0011 - 1001 中间一定会经…
Compare two version numbers version1 and version2.If version1 > version2 return 1, if version1 < version2 return -1, otherwise return 0. You may assume that the version strings are non-empty and contain only digits and the . character.The . characte…
problem 448. Find All Numbers Disappeared in an Array solution: class Solution { public: vector<int> findDisappearedNumbers(vector<int>& nums) { vector<int> res; ; i<nums.size(); i++) { ; nums[tmp] = nums[tmp]> ? -nums[tmp] : n…
You are given two non-empty linked lists representing two non-negative integers. The most significant digit comes first and each of their nodes contain a single digit. Add the two numbers and return it as a linked list. You may assume the two numbers…
题目: You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list. You may assume the two num…
题目: You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list. Input: (2 -> 4 -> 3) + (5 -> 6 -&…
problem 728. Self Dividing Numbers solution1: 使用string类型来表示每位上的数字: class Solution { public: vector<int> selfDividingNumbers(int left, int right) { vector<int> res; for (int i=left; i<=right; ++i) { bool flag = isSDN(i); if(flag) res.push_ba…
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 先求和再构成列表 使用栈保存节点数字 类似题目 日期 题目地址:https://leetcode.com/problems/add-two-numbers-ii/description/ 题目描述 You are given two non-empty linked lists representing two non-negative intege…
水题,暴力可解. #include <iostream> using namespace std; int chg(int n, int base); int main() { int i; int tmp; ; i<; i++) { tmp = chg(i, ); ) && tmp == chg(i, ) ) cout <<i<<endl; } } int chg(int n, int base) { ; ) { sum += n % base;…
首先想到的是走到其中一个链表的尽头,然后把剩余的链表中的值放入写的链表,返回,但是自己写的代码好长. struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2) { ,stmp; struct ListNode *pl,*ptmp,*pi; pl=NULL; while(l1&&l2) { g=l1->val+l2->val; g+=s; stmp=g/; g%=; struct ListNo…
Description ​ 看题戳我 给你一个序列,要求支持区间加斐波那契数列和区间求和.\(~n \leq 3 \times 10 ^ 5, ~fib_1 = fib_2 = 1~\). Solution ​ 先来考虑一段斐波那契数列如何快速求和,根据性质有 \[ \begin {align} fib_n &= fib_{n - 1} + fib_{n - 2} \\ &= fib_ {n - 2} + fib_{n - 3} + fib_{n - 2} \\ &= fib_{n…
给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和. 您可以假设除了数字 0 之外,这两个数都不会以 0 开头. 示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -> 8 原因:342 + 465 = 807 分析思路:输入两个链表,输出一个链表.则需要新建一个链表,把输入的两…
题解 题是真的好,我是真的不会做 智商本还是要多开啊QwQ 我们发现一个非下降的数字一定可以用不超过九个1111111111...1111表示 那么我们可以得到这样的一个式子,假如我们用了k个数,那么最多的话可以是这样的 \(N = \sum_{i = 1}^{9k} (10^{r_i} - 1) / 9\) \(9N + 9k = \sum_{i = 1}^{9k} 10^{r_{i}}\) 我们只要每次计算出9N + 9 ,9N + 18...,然后看看十进制下每一位的数字和有没有超过9k,…
题意:n个格子,m个球,让你把球放入某些格子里,使得所有有球的格子之间的距离(abs(i-j))均为素数 ,让你输出方案数. 只占一个格子或者两个格子显然可行. 占有三个格子的情况下,则必须保证其中两者的间距为2,另两者的间距为一个+2以后仍为素数的素数.这个可以预处理. 占有四个格子的情况下,间距只有一种合法情况 2 3 2. 其他情况都不合法. 确定了占有的格子数,尝试放球保证没有一个格子为空的时候,可以用挡板法. #include<cstdio> using namespace std;…
统计路径的时候,显然用母函数的思想,可以用FFT来方便统计. 注意!要减去路径两个端点相同的情况!然后再除以二!这样防止重复. 还有就是说啊,点分治的正确姿势还是应该用所有子树的答案减去各个子树分别的答案.否则复杂度好像是不太对哈. 除非……有一种情况是这样的……才能让每次直接统计当前子树和之前所有子树的答案而不重复统计再减去的写法复杂度正确. 即:用个set或者哈希表之类的东西存储之前所有子树的路径,然后我只枚举当前子树的路径,往set或者哈希表里面去查询.查询完了以后,再把当前子树塞到set…
转载地址:http://blog.csdn.net/qwerty_xk/article/details/12749961 题:只有2 3 5 这三个因子的数,求第1500个   设1为第一个丑数,求第1500个丑数 解法: 1 简单的暴力搜索,对每个数进行因子判别,直到搜到第1500个 评价:耗时 不可取 2 将得到的数保存在一个数组中,按从小到大的顺序进行存放,对该数组前面的数分别乘以2 3 5,每乘一个因子,先乘到刚好大于该数组最大的值,然后break 进行下一个因子相乘  ,得到三个数,比…
题目如下: 小A 和 小B 在玩猜数字.小B 每次从 1, 2, 3 中随机选择一个,小A 每次也从 1, 2, 3 中选择一个猜.他们一共进行三次这个游戏,请返回 小A 猜对了几次? 输入的guess数组为 小A 每次的猜测,answer数组为 小B 每次的选择.guess和answer的长度都等于3. 示例 1: 输入:guess = [1,2,3], answer = [1,2,3]输出:3解释:小A 每次都猜对了. 示例 2: 输入:guess = [2,2,3], answer = […
题意:定义f(n,d)为数码d在1到n中出现的次数,其中d=0..9 如果f(d,k)=k,则称k是d好数 给定x和d,求不大于x的最大的d好数 x<=1e18 思路:考虑f的增长率主要和位数有关 各种位数,上限,下限剪枝…… 事实上所有d好数不会超过1e11 #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef unsigned int uint; typedef unsigned long…
题目传送门 这是一道数位DP. 令 \(dp_{i,j,k}\) 为满足由 \(i\) 位组成,且其中有 \(j\) 个1,第 i 位(从右往左数)为 \(k\) 的二进制数的数量. 可以得出状态转移方程: \(dp_{i,j,0}=dp_{i-1,j,1}+dp_{i-1,j,0}\;(2\le i,0\le j< i)\) \(dp_{i,j,1}=dp_{i-1,j-1,0}+dp_{i-1,j-1,1}\;(2\le i,0<j\le i)\) 边界:\(dp_{1,0,0}=1,dp…
题目描述: http://poj.org/problem?id=3414 中文大意: 使用两个锅,盛取定量水. 两个锅的容量和目标水量由用户输入. 允许的操作有:灌满锅.倒光锅内的水.一个锅中的水倒入另一个锅. 在两个锅互相倒水的过程中,若一个锅被倒满,而原来的锅中还有水,则剩余在原来的锅中. 不断执行这三个过程,直到任意一个锅中,贮存了目标数量的水,过程结束. 思路: 队列节点记录的是当前两个锅的贮水量和之前的一系列操作. 在弹出队列首节点,获取了当前两个锅的水量信息后,后续怎么操作,有 6…
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 方法一:暴力求解 方法二:原地变负做标记 方法三:使用set 日期 [LeetCode] 题目地址:https://leetcode.com/problems/find-all-numbers-disappeared-in-an-array/ Total Accepted: 14302 Total Submissions: 24993 Difficulty:…
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 循环 filter函数 数字迭代 日期 题目地址:https://leetcode.com/problems/self-dividing-numbers/description/ 题目描述 A self-dividing number is a number that is divisible by every digit it contains.…
[2]Add Two Numbers (2018年12月23日,review) 链表的高精度加法. 题解:链表专题:https://www.cnblogs.com/zhangwanying/p/9797184.html [7]Reverse Integer (2018年12月23日, review) 给了一个32位的整数,返回它的reverse后的整数.如果reverse后的数超过了整数的范围,就返回 0. Example 1: Input: 123 Output: 321 Example 2:…
[78]Subsets 给了一个 distinct 的数组,返回它所有的子集. Example: Input: nums = [,,] Output: [ [], [], [], [,,], [,], [,], [,], [] ] 题解:我是直接dfs(backtracking)了,有个小地方写错了(dfs那里),至少调整了十多分钟,下次不要写错了. class Solution { public: vector<vector<int>> subsets(vector<int…