noip2015_noip2021复赛

noip2015_noip2021复赛扩展欧几里得模板题。注意取模。#include<bits/stdc++.h>usingnamespacestd;#definelllonglong#definein(x)scanf("%d",&x)#definelin(x)scanf("%lld",&x)#defineout(x)printf("%d",x)#defin…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

noip2015_noip2021复赛

扩展欧几里得模板题。

注意取模。

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define in(x) scanf("%d",&x) 
#define lin(x) scanf("%lld",&x)
#define out(x) printf("%d",x)
#define lout(x) printf("%lld",x)
#define ex putchar('\n')
#define ko putchar(' ')
ll a,b,x,y;

void Exgcd(ll a,ll b,ll &x,ll &y)
{
	if(b == 0)
	{
		x = 1;
		y = 0;
		return;
	}
	Exgcd(b,a%b,x,y);
	int t = x;
	x = y;
	y = t - y*(a/b);
	return;
}

int main()
{
//	freopen("mod.in","r",stdin);
//	freopen("mod.out","w",stdout);
	lin(a);lin(b);
	Exgcd(a,b,x,y);
	cout << (x % b + b) % b;
	return 0;
}

noip2015_noip2021复赛

noip2015_noip2021复赛

差分+二分。

差分相当于区间加减,用于找是否可以满足条件。

二分用于找第一个不满足的订单。

具体直接看代码吧,很简单明显。

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define in(x) x = read()
#define lin(x) scanf("%lld",&x)
#define out(x) write(x)
#define lout(x) printf("%lld",x)
#define ex putchar('\n')
#define ko putchar(' ')
const int MAXN = 1e6 + 5;
int n,m;
int cf[MAXN],now[MAXN],res[MAXN];
int l[MAXN],r[MAXN],d[MAXN];

inline int read()
{
    int X=0,w=0; char ch=0;
    while(!isdigit(ch)) {w|=ch=='-';ch=getchar();}
    while(isdigit(ch)) X=(X<<3)+(X<<1)+(ch^48),ch=getchar();
    return w?-X:X;
}

inline void write(int x)
{
     if(x<0) putchar('-'),x=-x;
     if(x>9) write(x/10);
     putchar(x%10+'0');
}


bool check(int k)
{
	memset(cf,0,sizeof cf);
	for(int i = 1;i <= k;i++)
	{
		cf[l[i]] += d[i];
		cf[r[i]+1] -= d[i];
	}
	
	for(int i = 1;i <= n;i++)
	{
		now[i] = now[i-1] + cf[i];
		if(now[i] > res[i]) return 0;
	}
	return 1;
}

int main()
{
//	freopen("classroom.in","r",stdin);
//	freopen("classroom.out","w",stdout);
	in(n);in(m);
	for(int i = 1;i <= n;i++)
		in(res[i]);
	for(int i = 1;i <= m;i++)
		in(d[i]),in(l[i]),in(r[i]);
	if(check(m)) 
	{
		cout << 0;
		return 0;
	}
	int left = 1,right = m;
	while(left < right)
	{
		int mid = left + (right - left)/2;
		if(check(mid)) left = mid + 1;
		else right = mid;
	}
//	cout << -1 << endl << left;
	printf("-1\n%d",left);
	return 0;
}

三题坑。。。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/172051.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 高级 PHP 工程师必备的编码技巧及思维

    高级 PHP 工程师必备的编码技巧及思维

    2022年2月14日
    40
  • vr的开发流程_vr虚拟现实 需要设备

    vr的开发流程_vr虚拟现实 需要设备http://www.unitymanual.com/forum.php?mod=viewthread&tid=31034 原文出自游戏蛮牛本文介绍虚拟现实项目开发流程,共大家参考与学习,也希望各位提出意见…通过将现实中真实存在的构建在虚拟平台上,使得用户可以不在受时间、地点、位置和区域的限制来完成一些操作。=================================开发流程=

    2022年9月13日
    1
  • Python&R LEfSe 分析

    Python&R LEfSe 分析软件安装与路径添加 在涉及到物种或基因组间差异分析的方法中,LEfSe是目前常见的方法。LEfSe实现的方式主要有在线分析和本地分析,在线分析会受到网络及其他因素影响,因而速度可能极慢。本地分析可基于Windows或Linux系统,调参更加灵活。本文以Windows系统为例,向大家展示如何在自己的本本上运行LEfSe,再也不用去求公司了…… 首先,我们要安装好Pyhthon(2.7版本)和R(…

    2022年4月29日
    48
  • String与StringBuffer的区别?

    String与StringBuffer的区别?String:1.String创建的对象是不可变的,一旦创建不可改变2.对象值可以改变其实是创建了一个新的对象,然后把新的值保存进去(如图1)3.String类被final修饰,不可以被继承4.String创建的对象的值存在于常量池,不用的时候不会被销毁5.String运行时间较长6.String适用于比较短而小的字符串图1StringBuffer:1.StringBuffer创建的对象是可变的2.它的改变不像String那样重新创建对象,而是通过构造方法(如图2)3.StringBu

    2022年9月21日
    2
  • 一文带你了解Zookeeper基本概念、集群搭建、使用方法「建议收藏」

    本文图文并茂的描述了:zookeeper是什么,演示了Zookeeper集群如何搭建、Zookeeper常用命令的使用、如何查看Zookeeper日志;详细描述了Zookeeper数据模型、watch机制、ACL、集群选举机制。非常适合刚接触ZK的小伙伴哟,相信你读完之后,最基本也能描述出Zookeeper是个什么了。ZooKeeper一、ZooKeeper1、Zookeeper概述​ Zookeeper是一个分布式协调服务的开源框架。主要作用是为分布式系统提供协调服务,包括但不限于:分布式锁

    2022年4月5日
    28
  • Eclipse中使用SVN[通俗易懂]

    Eclipse中使用SVN[通俗易懂]概述在我们的日常工作中,经常会用到SVN,大多数都是搭配Eclipse/MyEclipse使用。本文主要介绍SVN在Eclipse中的一些最长用的功能,包括SVN插件的下载使用、上传代码到服务器、从服务器下载代码、从服务器更新代码、解决代码冲突。本文链接:http://blog.csdn.net/v123411739/article/details/225121331.在Eclipse里下载Sub…

    2022年6月3日
    37

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号