ZOJ 3175 Number of Containers 分块
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3216
乱搞的...watashi是分块做的...但我并不知道什么是分块...大概就是把结果相同的数据合并计算
打表跑了一下...发现重复出现的数字很多...于是直接找出会发生重复的数乘起来就行了...
- /********************* Template ************************/
- #include <set>
- #include <map>
- #include <list>
- #include <cmath>
- #include <ctime>
- #include <deque>
- #include <queue>
- #include <stack>
- #include <bitset>
- #include <cstdio>
- #include <string>
- #include <vector>
- #include <cassert>
- #include <cstdlib>
- #include <cstring>
- #include <sstream>
- #include <fstream>
- #include <numeric>
- #include <iomanip>
- #include <iostream>
- #include <algorithm>
- #include <functional>
- using namespace std;
- #define EPS 1e-8
- #define DINF 1e15
- #define MAXN 1000050
- #define MOD 1000000007
- #define INF 0x7fffffff
- #define LINF 1LL<<60
- #define PI 3.14159265358979323846
- #define lson l,m,rt<<1
- #define rson m+1,r,rt<<1|1
- #define BUG cout<<" BUG! "<<endl;
- #define LINE cout<<" ------------------ "<<endl;
- #define FIN freopen("in.txt","r",stdin);
- #define FOUT freopen("out.txt","w",stdout);
- #define mem(a,b) memset(a,b,sizeof(a))
- #define FOR(i,a,b) for(int i = a ; i < b ; i++)
- #define read(a) scanf("%d",&a)
- #define read2(a,b) scanf("%d%d",&a,&b)
- #define read3(a,b,c) scanf("%d%d%d",&a,&b,&c)
- #define write(a) printf("%d\n",a)
- #define write2(a,b) printf("%d %d\n",a,b)
- #define write3(a,b,c) printf("%d %d %d\n",a,b,c)
- #pragma comment (linker,"/STACK:102400000,102400000")
- template<class T> inline T L(T a) {return (a << );}
- template<class T> inline T R(T a) {return (a << | );}
- template<class T> inline T lowbit(T a) {return (a & -a);}
- template<class T> inline T Mid(T a,T b) {return ((a + b) >> );}
- template<class T> inline T gcd(T a,T b) {return b ? gcd(b,a%b) : a;}
- template<class T> inline T lcm(T a,T b) {return a / gcd(a,b) * b;}
- template<class T> inline T Min(T a,T b) {return a < b ? a : b;}
- template<class T> inline T Max(T a,T b) {return a > b ? a : b;}
- template<class T> inline T Min(T a,T b,T c) {return min(min(a,b),c);}
- template<class T> inline T Max(T a,T b,T c) {return max(max(a,b),c);}
- template<class T> inline T Min(T a,T b,T c,T d) {return min(min(a,b),min(c,d));}
- template<class T> inline T Max(T a,T b,T c,T d) {return max(max(a,b),max(c,d));}
- template<class T> inline T exGCD(T a, T b, T &x, T &y){
- if(!b) return x = ,y = ,a;
- T res = exGCD(b,a%b,x,y),tmp = x;
- x = y,y = tmp - (a / b) * y;
- return res;
- }
- template<class T> inline T reverse_bits(T x){
- x = (x >> & 0x55555555) | ((x << ) & 0xaaaaaaaa); x = ((x >> ) & 0x33333333) | ((x << ) & 0xcccccccc);
- x = (x >> & 0x0f0f0f0f) | ((x << ) & 0xf0f0f0f0); x = ((x >> ) & 0x00ff00ff) | ((x << ) & 0xff00ff00);
- x = (x >> & 0x0000ffff) | ((x <<) & 0xffff0000); return x;
- }
- typedef long long LL; typedef unsigned long long ULL;
- //typedef __int64 LL; typedef unsigned __int64 ULL;
- /********************* By F *********************/
- int main(){
- //FIN;
- //FOUT;
- int T;
- while(cin>>T){
- while(T--){
- LL n,res = ;
- cin>>n;
- if(n == ){
- cout<<""<<endl;
- continue;
- }
- LL tmp = res = n;
- for(LL i = ; i <= n ; i++){
- if(tmp - n/i <= ) {
- res -= tmp;
- break;
- }
- res += n/i;
- tmp = n/i;
- }
- LL t = n;
- for(LL i = ; i <= tmp ; i++){
- res += (t - n/(i+)) * i ;
- t = n/(i+);
- }
- res -= n;
- cout<<res<<endl;
- }
- }
- return ;
- }
ZOJ 3175 Number of Containers 分块的更多相关文章
- Number of Containers ZOJ - 3175(数论题)
Problem Description For two integers m and k, k is said to be a container of m if k is divisible by ...
- Number of Containers(数学) 分类: 数学 2015-07-07 23:42 1人阅读 评论(0) 收藏
Number of Containers Time Limit: 1 Second Memory Limit: 32768 KB For two integers m and k, k is said ...
- ZOJ 3908 Number Game ZOJ Monthly, October 2015 - F
Number Game Time Limit: 2 Seconds Memory Limit: 65536 KB The bored Bob is playing a number game ...
- [ZOJ 2836] Number Puzzle
Number Puzzle Time Limit: 2 Seconds Memory Limit: 65536 KB Given a list of integers (A1, A2, .. ...
- zoj Beautiful Number(打表)
题目链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2829 题目描述: Mike is very lucky, as ...
- ZOJ 1414:Number Steps
Number Steps Time Limit: 2 Seconds Memory Limit: 65536 KB Starting from point (0,0) on a plane, ...
- ZOJ 3596Digit Number(BFS+DP)
一道比较不错的BFS+DP题目 题意很简单,就是问一个刚好包含m(m<=10)个不同数字的n的最小倍数. 很明显如果直接枚举每一位是什么这样的话显然复杂度是没有上限的,所以需要找到一个状态表示方 ...
- ZOJ 3180 Number Game(模拟,倒推)
题目 思路: 先倒推!到最后第二步,然后: 初始状态不一定满足这个状态.所以我们要先从初始状态构造出它出发的三种状态.那这三种状态跟倒推得到的状态比较即可. #include<stdio.h&g ...
- ZOJ 2836 Number Puzzle 题解
题面 lcm(x,y)=xy/gcd(x,y) lcm(x1,x2,···,xn)=lcm(lcm(x1,x2,···,xn-1),xn) #include <bits/stdc++.h> ...
随机推荐
- Datazen图表创建和公布
Datazen是被微软收购的移动端全平台的数据展现解决方式.此篇主要介绍怎样创建和公布图表. 如前面介绍,Datazen图表的创建和公布是通过Publisher的应用,它是Windows 8应用 ...
- php中命名空间和use
php中命名空间和use 总结 php中的namespace就有点像java中package包的概念 php中的use的概念就是用别人的命名空间中的类 php中的include enquire是引入文 ...
- [JSOI2008] [BZOJ1567] Blue Mary的战役地图 解题报告 (hash)
题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1567 Description Blue Mary最近迷上了玩Starcraft(星际争霸 ...
- 机器学习规则:ML工程最佳实践----rule_of_ml section 3【翻译】
作者:黄永刚 ML Phase III: 缓慢提升.精细优化.复杂模型 第二阶段就已经接近结束了.首先你的月收益开始减少.你开始要在不同的指标之间做出平衡,你会发现有的涨了而有的却降了.事情变得有趣了 ...
- PostgreSQL Replication之第三章 理解即时恢复(2)
3.2 归档事务日志 看过图片之后,我们可以看看如何使这些东西进入工作状态.当谈到及时归档时,您需要做的第一件事是归档XLOG.PostgreSQL通过postgresql.conf提供了所有与归档相 ...
- c#中debug和release版本的区别
1 debug版本称为调试版本,包含各种调试信息,以为开发人员提供强大的应用程序调试能力,其没有做任何优化,速度慢. 2 release版本称为发布版本,不保存调试信息,但是做了各种的优化,体积小,运 ...
- 瞎折腾-CentOS 7.4 编译4.16.2版kernel 并安装
CentOS 7.4下 原内核版本: 3.10.0-693.el7.x86_64 改后内核版本: 4.16.2 系统版本: CentOS-7-x86_64-Minimal-1708.iso 运行环境: ...
- Linux企业运维人员最常用150个命令汇
近来老男孩发现新手学习Linux记不住命令,不会分类.不会筛选重点,胡子眉毛一把抓当然记不住了. 特别整理Linux运维最常用150个命令和大家分享,大家学习命令不用在盲目了,根据分类,然后逐步学习! ...
- 链表python
无序链表.有序链表 有序列表排序通常是升序或降序,并且我们假设列表项具有已经定义的有意义的比较运算. 许多有序列表操作与无序列表的操作相同. 必须明确链表的第一项位置,一旦知道第一项. 链表实现的基本 ...
- 洛谷P2839 [国家集训队]middle 主席树_二分
Code: #include <cstdio> #include <algorithm> #include <cstring> #include <strin ...