博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NOIP2012Day2 T1/T2题解
阅读量:4708 次
发布时间:2019-06-10

本文共 1706 字,大约阅读时间需要 5 分钟。

T1 同余方程

一道拓展欧几里得的模板题,比较简单

#include
#include
#include
using namespace std;typedef long long ll;ll A, B;ll x, y;ll Tmp;void Exgcd(ll a, ll b){ if(b == 0) { x = 1; y = 0; return ; } Exgcd(b, a%b); Tmp = x; x = y; y = Tmp - a/b * y;}int main(){// freopen("mod.in","r",stdin);// freopen("mod.out","w",stdout); scanf("%lld%lld", &A, &B); Exgcd(A, B); if(x < 0) printf("%lld", (x+B) % B); else printf("%lld", x%B); return 0;}

T2 借教室

这道题读一遍下来第一反应是求前缀和和暴力枚举每一份订单是否满足要求,感觉能拿到30—40分的样子,然后思考了一下,想到了二分的做法,二分的终点是left。考试的时候悲催的前缀和写错了,只拿了5分。

#include
#include
#include
#include
using namespace std;typedef long long ll;const int MAXN = 1e6+5;int n, m;int sta[MAXN], end[MAXN], num[MAXN], d[MAXN], r[MAXN], num2[MAXN]; int check(int x){ memset(d, 0, sizeof(d)); for(int i = 1; i <= x; i++) { d[sta[i]] += num[i]; d[end[i]+1] -= num[i]; } for(int i = 1; i <= n; i++) { num2[i] = num2[i-1] + d[i]; if(num2[i] > r[i]) return 0; } return 1;}int main(){// freopen("classroom.in","r",stdin);// freopen("classroom.out","w",stdout); scanf("%d%d", &n, &m); for(int i = 1; i <= n; i++) scanf("%lld", &r[i]); for(int i = 1; i <= m; i++) scanf("%d%d%d", &num[i], &sta[i], &end[i]); if(check(m)) { printf("0"); return 0; } int left = 1, right = m; while(left < right) { int mid = (right + left) / 2; if(check(mid)) left = mid + 1; else right = mid; } printf("-1\n%d", left); return 0;}

转载于:https://www.cnblogs.com/stooge/p/9885181.html

你可能感兴趣的文章
Mac 修改Host 绑定host
查看>>
Python学习-23.Python中的函数——isinstance
查看>>
CF932F Escape Through Leaf 斜率优化、启发式合并
查看>>
jQuery获取同级元素
查看>>
移动端调试方法
查看>>
java虚拟机4.垃圾标记算法
查看>>
context.getResourceAsStream获取的是部署在服务器上面的文件位置 而不是我们本地的工程位置 意思是说获取的都是web下面的文件位置...
查看>>
usebean 使用语法
查看>>
jquery不能是使用普通的for循环 因为普通的for循环通过下表获取对象 如果通过下表获取对象的话 会转成dom对象...
查看>>
C#访问修饰符
查看>>
jmeter用Firefox录制https协议证书问题解决(转载)
查看>>
ABP 使用SwaggerUI汉化
查看>>
Performance Testing 系列
查看>>
C#程序在server 2003 运行错误的解决办法
查看>>
线性基
查看>>
查找表_leetcode349
查看>>
Spring框架碰壁日常更新
查看>>
【转】Python 30个实用小Tips
查看>>
JAVA利用poi获取world文件内容
查看>>
AngularJS API之$injector ---- 依赖注入
查看>>