首页 > 其他分享 >每日一题-24-06-17 (P10217)

每日一题-24-06-17 (P10217)

时间:2024-06-17 21:14:51浏览次数:12  
标签:24 P10217 06 sub int ll else lp return

今年省选题,考场上竟然没做出来

今天似乎直接一眼出来了

就是枚举下 \(m\) 模 \(n\) 的余数

然后解个方程即可

#include<bits/stdc++.h>
using namespace std;
#define ll long long
int T,n,X,Y;
int x[100005],y[100005];
ll s[100005],t[100005],res,k;
ll sub_down(ll x,ll y){
	if(x<0)x=-x,y=-y;
	if(y>0)return x/y;
	else return -((x-y-1)/(-y));
}
ll sub_up(ll x,ll y){
	if(x<0)x=-x,y=-y;
	if(y>0)return (x+y-1)/y;
	else return -(x/(-y));
}
int main(){
	scanf("%d",&T);
	while(T--){
		res=1e18;
		scanf("%d%lld%d%d",&n,&k,&X,&Y);
		for(int i=1;i<=n;i++){
			scanf("%d%d",&x[i],&y[i]);
			s[i]=s[i-1]+x[i]+y[i];
			t[i]=t[i-1]+x[i]-y[i];
		}
		for(ll q=0;q<n;q++){
			//m=p*n+q
			ll lp=0,rp=1e18;
			if(s[n]>n*k)rp=min(rp,sub_down(X+Y+q*k-s[q],s[n]-n*k));
			else if(s[n]<n*k)lp=max(lp,sub_up(X+Y+q*k-s[q],s[n]-n*k));
			else if(X+Y+q*k-s[q]<0)continue;
			if(n*k+s[n]>0)lp=max(lp,sub_up(X+Y-s[q]-q*k,n*k+s[n]));
			else if(n*k+s[n]<0)rp=min(rp,sub_down(X+Y-s[q]-q*k,n*k+s[n]));
			else if(X+Y-s[q]-q*k>0)continue;
			if(t[n]>n*k)rp=min(rp,sub_down(X-Y+q*k-t[q],t[n]-n*k));
			else if(t[n]<n*k)lp=max(lp,sub_up(X-Y+q*k-t[q],t[n]-n*k));
			else if(X-Y+q*k-t[q]<0)continue;
			if(n*k+t[n]>0)lp=max(lp,sub_up(X-Y-t[q]-q*k,n*k+t[n]));
			else if(n*k+t[n]<0)rp=min(rp,sub_down(X-Y-t[q]-q*k,n*k+t[n]));
			else if(X-Y-t[q]-q*k>0)continue;
			if(lp<=rp)res=min(res,lp*n+q);
		}
		if(res!=1e18)printf("%lld\n",res);
		else puts("-1");
	}
	return 0;
}

感觉挺简单的(考场竟然不会,感觉自己是废物)

就是那个带负数的上下取整写的有点烂(还在那里WA了一发)

标签:24,P10217,06,sub,int,ll,else,lp,return
From: https://www.cnblogs.com/kentsbk/p/18253189

相关文章

  • 2024年06月随便做做
    The2ndUniversalCup.Stage17:Jinan为了参加省赛打的模拟。打了八个题,稳稳金牌。E.IJustWant...OneMore...考虑如何计数,因此考虑方案的等价条件。一条边满足要求,当且仅当原图存在一种最大匹配,使得这条边的两个顶点都不在匹配中。而上述条件,实际上等价于两个顶点各......
  • 【实用软件】Siemens NX(UG)2406系列(NX2406版本为例)安装教程
    下载链接:https://r0vr8xquwul.feishu.cn/docx/QvHKdwqk6ooVWXxaBuWcFXHgnMc详细图文教程:https://www.yuque.com/zhefengerhuanzaigua/bld6x5/ni6x41v2h696ybc8软件介绍SiemensNX(前身为UnigraphicsNX,UGNX版本自12以后不再更新,改为SiemensNX以其他版本号进行更新。)是Si......
  • 郑州2024-ccpc-赛后总结-crf
    郑州邀请赛这一场整体打的很不好,差一点多开出一题,罚时也不理想,离国银省金就差一点。前两个小时的状态还是可以的,签到题写的并不慢,中间几道中档题出思路也很快。但是到了比赛中期状态就不好了,有一道稳稳能写出的题目因为一行代码的错误导致交了三次才过,浪费了很多罚时,也很打击士气......
  • 北航研究生《矩阵理论》期末复习整理与2024考题记录
    课件线性空间定义:交换律+结合律+零元素+负元素特殊的矩阵:对称矩阵:\(A=A^T\)正交矩阵:\(AA^T=I\)Hermite矩阵:\(A^H=A\),对角元素为实数,特征值为实数反(斜)Hermite矩阵:\(A^H=-A\),对角元素为纯虚数,特征值为纯虚数或者0酉矩阵:\(A^HA=I\),酉相似\(U^HAU=B\),酉相抵\(UA......
  • 2024华为OD机试真题-出租车计费 、靠谱的车-(C++/Python)-C卷D卷-100分
    2024华为OD机试题库-(C卷+D卷)-(JAVA、Python、C++) 题目描述:程序员小明打了一辆出租车去上班。出于职业敏感,他注意到这辆出租车的计费表有点问题,总是偏大。出租车司机解释说他不喜欢数字4,所以改装了计费表,任何数字位置遇到数字4就直接跳过,其余功能都正常。比如:23再多......
  • 2024华为OD机试真题-API集群负载统计-(C++/Python)-C卷D卷-100分
     2024华为OD机试题库-(C卷+D卷)-(JAVA、Python、C++)题目描述某个产品的RESTfulAPI集合部署在服务器集群的多个节点上,近期对客户端访问日志进行了采集,需要统计各个API的访问频次,根据热点信息在服务器节点之间做负载均衡,现在需要实现热点信息统计查询功能。RESTfulAPI是......
  • YC302A [ 20240617 CQYC省选模拟赛 T1 ] 构造字符串(string)
    题意你需要构造一个长度为\(n\)的字符串。使得后缀数组为给定的序列\(a\),\(\text{manacher}\)的回文序列为\(b\)。Sol注意到后缀数组实际上是一系列\(\le\)的限制,而\(\text{manacher}\)是一堆相等以及两个不相等的限制。若直接建边很难搞。考虑将限制统一,后缀数组......
  • 功能强大的多功能文档转换工具Neevia Document Converter Pro 7.5.0.241
    NeeviaDocumentConverterPro是一款功能强大的Windows软件,旨在将文档转换为各种格式,包括PDF、TIFF、JPEG和许多其他格式。该程序专为在企业环境中使用而设计,提供文档转换和处理过程的自动化,这使其成为处理大量文档的组织的***工具。NeeviaDocumentConverterPro的主要功......
  • Flink - [06] 状态管理
    题记部分 一、Flink中的状态由一个任务维护,并且用来计算某个结果的所有数据,都属于这个任务的状态。可以认为状态就是一个本地变量,可以被任务的业务逻辑访问。Flink会进行状态管理,包括状态一致性、故障处理以及高效存储和访问,以便开发人员可以专注于应用程序的逻辑在Flin......
  • Maya 2024 mac/win版:创意无界,设计新生
    Maya2024是一款由Autodesk推出的业界领先的三维计算机图形软件,广泛应用于电影、游戏、广告等创意产业。这款软件以其强大的功能和卓越的性能,为艺术家们提供了一个实现创意梦想的平台。→→↓↓载Maya2024mac/win在建模方面,Maya2024提供了丰富的工具集,支持多边形建模、NURBS......