everyday two problems / 3.11 - 3.17
7日共14题,因为3.14两题相同,所以实际总共13题
13道题分为难易两部分,没有按照时间顺序排列题目
A.易:
题意:
给出一段从A - B的区间S(A,B为整数)
这段区间内的整数可以随便使用任意次
再给出一段从X - Y的区间T
问用区间S中的整数做加法
可以覆盖区间T中多少个不同的整数
1<= A, B, X, Y <= 1e18
解法:
没有什么想法,我们观察样例
A = 8 B = 10 X = 3 Y = 20
由区间S凑成的整数为
8 9 10
16 17 18 19 20
我们继续列举发现继续凑成的整数为
24 25 26 27 28 29 30
32 33 34 35 36 37 38 39 40
可以发现会凑成许多段连续区间
每段区间的长度呈等差数列
并且如果A != B无限枚举下去最后一定会存在N
当Z >= N时,是一定可以凑出Z的
样例中的 N 即为40
我们继续思考可以发现 N 是满足下面条件的最小的数
N / A = N / B + 1
反映到上面列举的区间,即第4段中的40同时出现在了第5段中
那么必然有第5段中的某个数Z也出现在了第6段中 ......
所以后面所有Z >= 40都是能够被凑出来的
于是直接二分找出N,再算一下等差数列求和即可
#include <cstdio>
typedef long long ll;
int Case;
ll l, r, a, b, d, ans;
ll max(ll x, ll y) {
return x > y ? x : y;
}
ll calc(ll x) {
ll L = , R = 1e18, mid, N, res = ;
while(L <= R) {
mid = (L + R) >> ;
if(mid / a > mid / b) N = mid, R = mid - ;
else L = mid + ;
}
if(x >= N) res += x - N, x = N;
res += ((x / b + ) * d + ) * (x / b) / + max(0ll, x - (x / b + ) * a);
return res;
}
int main() {
scanf("%d", &Case);
while(Case --) {
scanf("%lld %lld %lld %lld", &a, &b, &l, &r);
d = b - a, printf("%lld\n", calc(r) - calc(l - ));
}
return ;
}
题意:
对0到(n-1)这n个数进行全排列
请找出三个全排列a、b、c
使得“a与b的对应元素的和”与“c的对应元素”对模n同余
无解输出-1
解法:
纯靠手感or脑洞
若n为奇数,则2, 4, 6, ..., 2n
在膜n意义下为2, 4, ..., n - 1, 1, 3, ... n - 2, 0
这样就直接凑出了0 - (n - 1)
若n为偶数,注意到题意
设Sa, Sb, Sc为abc三个排列的元素之和
此时应满足 (Sa + Sb) % n = Sc % n
然而Sa = Sb = Sc = (n - 1) * n / 2
此时等式左侧为0, 右侧要想为0, 必须使n - 1为偶数
因为n为偶,所以n - 1为奇数,右侧不可能为0
所以此时无解输出 -1
#include <cstdio>
int n;
int main() {
scanf("%d", &n);
if(n & ) {
for(int i = ;i < n;i ++)
printf("%d ", i);
printf("\n");
for(int i = ;i < n;i ++)
printf("%d ", i);
printf("\n");
for(int i = ;i < n;i ++)
printf("%d ", * i % n);
}
else puts("-1");
return ;
}
everyday two problems / 3.11 - 3.17的更多相关文章
- 2016年11月17日 星期四 --出埃及记 Exodus 20:8
2016年11月17日 星期四 --出埃及记 Exodus 20:8 "Remember the Sabbath day by keeping it holy.当记念安息日,守为圣日.
- 2014年11月17~11月18日,杨学明老师《企业IT需求收集和实施》内训在湖南长沙某酒店成功举办!
2014年11月17至18日,受湖南某软件企业的邀请,杨学明老师<企业IT需求收集和实施>内训在某长沙某五星级酒店成功举办!来自全国各地的IT高管和企业负责人参加了此次培训.杨学明老师分别 ...
- 基数排序的可复用实现(C++11/14/17/20)
基数排序,是对整数类型的一种排序方法,有MSD (most significant digit)和LSD (least significant digit)两种.MSD将每个数按照高位分为若干个桶(按 ...
- PSP(5.11——5.17)以及周记录
1.PSP 5.11 14:30 20:00 130 200 Cordova A Y min 5.12 9:00 14:00 100 200 Cordova A Y min 5.13 13:30 15 ...
- 云计算之路-阿里云上:2014年6月11日17点遇到的CPU 100%状况
今天下午17:00-17:05之间,在请求量没有明显变化的情况下,SLB中的1台云服务器的CPU突然串到100%(当时SLB中一共有3台云服务器),见下图: 造成的直接后果是请求执行时间变得超长,最长 ...
- Support For C++11/14/17 Features (Modern C++)
Visual Studio编译器对 C++11 特性的支持 具体参考网址:https://msdn.microsoft.com/en-us/library/hh567368.aspx 截至目前为止,V ...
- 2016年11月17日--SQL主、外键,子查询
主键 数据库主键是指表中一个列或列的组合,其值能唯一地标识表中的每一行.这样的一列或多列称为表的主键,通过它可强制表的实体完整性.当创建或更改表时可通过定义 PRIMARY KEY约束来创建主键.一个 ...
- 2014年11月17号------html起始
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 2017年5月11日17:43:06 rabbitmq 消费者队列
从昨天开始发现个问题,一个接口在本地调用时大部分正常,一旦在生成者打一个断点调试,并且在promotion也打断点的时候会出现没有返回channel的异常,然后消费者就再也消费不了了 16:57:45 ...
随机推荐
- bzoj 5090 组题
题目大意: 一个数列,求一段长度不少于k的数 使平均值最大 思路: 把所有数列里的数,转换为(i,sum i)的点 然后求一个下凸包,在这个过程中对于长度特殊处理一下,使栈内至少有一段长度大于等于k ...
- P1491 集合位置 次短路
这个题是一个次短路的裸题,就是把最短路路径求出来之后依次删边,然后跑最短路,在这些情况里取最小值就行了. 题干: 每次有大的活动,大家都要在一起“聚一聚”,不管是去好乐迪,还是避风塘,或者汤姆熊,大家 ...
- [模板]FWT
写起来和fft很像,这里放个板子. 代码: #include<iostream> #include<cstdio> #include<cmath> #include ...
- Luogu[SDOI2008]Sue的小球
题目描述 Sue和Sandy最近迷上了一个电脑游戏,这个游戏的故事发在美丽神秘并且充满刺激的大海上,Sue有一支轻便小巧的小船.然而,Sue的目标并不是当一个海盗,而是要收集空中漂浮的彩蛋,Sue有一 ...
- 基于spark和flink的电商数据分析项目
目录 业务需求 业务数据源 用户访问Session分析 Session聚合统计 Session分层抽样 Top10热门品类 Top10活跃Session 页面单跳转化率分析 各区域热门商品统计分析 广 ...
- word文档在线预览解决方案
花了一整天在网上翻关于 “word文档在线预览解决方案” 相关的资料,感觉实现难度比较大还是用PDF来解决好了.. 下面列一下比较好的参考资料吧 参考资料 前端实现在线预览pdf.word.xls.p ...
- E20171016-mk
chaos n. 混乱,紊乱; (天地未出现的) 浑沌世界; 〈古〉无底深渊; 一团糟;
- codevs2503失恋28天......(背包dp)
503 失恋28天-缝补礼物 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 黄金 Gold 题目描述 Description 话说上回他给女孩送了n件礼物,由于是廉价的所以 ...
- 月薪5K和月薪50K的程序员,差距都在哪里?
毕业两年买房买车,BAT里拼杀年薪百万.这些大神级的传说想必大家都有耳闻. 而渴望成为人生赢家的程序员们也怀揣着这样梦想,纷纷踏入互联网的大门. 假以时日,这些人的差距愈发明显.最直观的就是薪资水 ...
- Entity Framework 4.3 中使用存储过程
尽管 Entity Framework 4.3 都已经发布了,且表示在 EF 5 中性能将会有很大提升.但很多存储过程控,始终不会放弃使用存储过程,那今天就让我们看看在 EF 4.3 中怎么使用存储过 ...