LOJ 10214 计算器 题解】的更多相关文章

题面 k==1时,快速幂就好了: k==2时,exgcd就好了,但要注意取模范围的控制: k==3时,BSGS可以解决高次同余方程: 然后就可以开心的A掉了,但要注意特殊情况的特判 #include <bits/stdc++.h> using namespace std; long long KSM(long long a,long long b,long long p) { ; while(b){ ) res=res*a%p; a=a*a%p; b/=; } return res%p; }…
第一部分 基础算法 第 1 章 贪心算法 1):「一本通 1.1 例 1」活动安排:按照结束时间排序,然后扫一遍就可以了. 2):「一本通 1.1 例 2」种树:首先要尽量的往区间重叠的部分种树,先按照右端点排序,每次贪心的从区间的最右边种,然后检查下一个区间是否缺少,缺的话就在最右边继续补. 3):「一本通 1.1 例 3」喷水装置:这题可以发现每个装置所能覆盖的区间是一个矩形,所以这题就变成了给了一堆线段,选出最少线段覆盖整个区间,按照右端点排序然后贪心就可以了. 4):「一本通 1.1 例…
https://www.lydsy.com/JudgeOnline/problem.php?id=2242 https://www.luogu.org/problemnew/show/P2485 你被要求设计一个计算器完成以下三项任务: 1.给定y,z,p,计算Y^Z Mod P 的值: 2.给定y,z,p,计算满足xy≡ Z ( mod P )的最小非负整数: 3.给定y,z,p,计算满足Y^x ≡ Z ( mod P)的最小非负整数. 大杂烩题: 1操作快速幂. 2操作把y除过去乘法逆元求一…
每日一题 day58 打卡 Analysis 这道题搜索的想法非常巧妙,从两端向中间找,这样可以保证仅仅对于head或tail而言,需要用到的前缀和与后缀和是单调递增的,这样排个序就解决了. 值得一提的是,在搜索时开两个变量记录前缀与后缀和,以便计算. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define int long long #define…
每日一题 day38 打卡 Analysis 这道题运用的是三分,就是说具有一定的单调性,找最大最小值,然后和二分基本类似,就是说特性就是说当前两个点比较,较优的点和最优点在相对了较差点的同侧,就是说那边差就把范围定到那里去 注意:要注意精度问题,一般定到1e-9或1e-11 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define int long l…
每日一题 day35 打卡 Analysis 先将不符合条件的区间去掉(即半径小于W,不然宽度无法符合),将符合条件的按区间存入节点中.区间的左边界是x-sqrt(r*r-W*W/4.0),要计算x轴的最小长度,而不是x-r.然后将区间按照左边界从小到大排序,依次找到能够覆盖L点的最大右端点. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include&…
每日一题 day50 打卡 Analysis 用初中学的相似推一波式子,再用三分一搞就好了. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define int long long #define rep(i,s,e) for(register int i=s;i<=e;++i) #define dwn(i,s,e) for(register int…
每日一题 day49 打卡 Analysis 用dis数组记录每两个点之间的时间,再用一个传递闭包来维护最小的时间就好了 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #define int long long #define maxn 50+10 #define rep(i,s,e) for(register i…
[网络流24题]最长k可重线段集(费用流) 题面 Cogs的数据有问题 Loj 洛谷 题解 这道题和最长k可重区间集没有区别 只不过费用额外计算一下 但是,还是有一点要注意的地方 这里可以是一条垂直的直线 所以,首先把所有的x轴全部乘2 如果两个相等就把右端点+1 否则左端点+1 这样就可以解决垂直于x轴的问题了 #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #…
[网络流24题]最长k可重区间集(费用流) 题面 Cogs Loj 洛谷 题解 首先注意一下 这道题目里面 在Cogs上直接做就行了 洛谷和Loj上需要判断数据合法,如果\(l>r\)就要交换\(l,r\) 首先离散化 数据范围比较大 记录一下\(l,r\)和区间大小 这个问题可以换一种看法 相当于从源点出发,走K次, 问你路径的最大权值和 其中有些边可以无限制的走,但是它们的长度为0 所以从源点开始到汇点,挂出一条链来 容量为K,费用为0 这些路是可以随便走的 另外,还有若干个区间 但是每个只…