首页 > 其他分享 >「杂题乱刷2」CF1015D Walking Between Houses

「杂题乱刷2」CF1015D Walking Between Houses

时间:2024-07-15 20:52:21浏览次数:7  
标签:Walking cout CF1015D Houses Between 杂题 define

duel 到的。

题目链接

CF1015D Walking Between Houses

解题思路

一道细节题。

思路很简单,肯定是一开始能走的越多越好,因此就有一种较好实现的方案,先每次走 \(n - 1\) 格,但由于每次至少要走一格,因此如果不够走了就把能走的都走掉,之后全走 \(1\) 步即可。

时间复杂度 \(O(k)\)。

参考代码

#include<bits/stdc++.h>
using namespace std;
#define re register
#define ll long long
#define forl(i,a,b) for(re ll i=a;i<=b;i++)
#define forr(i,a,b) for(re ll i=a;i>=b;i--)
#define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
#define endl '\n'
#define QwQ return 0;
#define cfy cout<<"YES\n";
#define cfn cout<<"NO\n";
ll t;
ll n,m,k;
ll now,pd;
void solve()
{
	cin>>n>>m>>k;
	if(k<m || k>(n-1)*m)
	{
		cfn;
		return ;
	}
	cfy;
	now=1;
	while(m)
	{
		m--;
		if(pd==1)
		{
			if(now==1)
				cout<<++now<<' ';
			else
				cout<<--now<<' ';
			continue;
		}
		k-=n-1;
		if(k<m)
		{
			k+=n-1;
			ll sum=k-m;
			if(now==1)
				cout<<now+sum<<' ',now+=sum,pd=1;
			else
				cout<<now-sum<<' ',now-=sum,pd=1;
		}
		else
		{
			if(now==1)
				cout<<n<<' ',now=n;
			else
				cout<<1<<' ',now=1;
		}
	}
}
int main()
{
	IOS;
	t=1;
 //	cin>>t;
	while(t--)
		solve();
	QwQ;
}

标签:Walking,cout,CF1015D,Houses,Between,杂题,define
From: https://www.cnblogs.com/wangmarui/p/18303945

相关文章

  • 「杂题乱刷2」CF727D
    duel到的。题目链接CF727D解题思路首先只能选一个尺码的人直接给就是了,这样我们就只用考虑选两个尺码的人了。因为两个尺码的人适合的两个尺码是相邻的,因此我们直接从小到大按照有两个尺码的人排序,再将剩下的衣服大小从小到大排序,然后依次给就可以了。这里我用了桶排,时间复......
  • 使用Spring Boot集成SkyWalking监控
    使用SpringBoot集成SkyWalking监控大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在微服务架构中,监控和追踪系统的运行状况至关重要。ApacheSkyWalking是一款强大的APM(应用性能监控)工具,能够帮助我们实时监控和分析微服务的性能。本文将介绍如何在Spri......
  • 「杂题乱刷2」CF1506E Restoring the Permutation
    duel到的。题目链接CF1506E解题思路有一个显然的性质就是这个序列的前缀最大值是单调不降的。于是我们就可以对于每个位置考虑还可以填哪些数,对于字典序最小的肯定填当时可填的最小数字,对于字典序最大的肯定填当时可填的最大数字,因为你可以通过填一个数的方式来满足要求,因此......
  • Snow Walking Robot 的题解
    题目大意给你一个机器人和机器人的\(n\)个运动,要求你在给出的运动路径的基础上设计一种不会走重复的路径的方法,注意只能减少原来的步数而不能增加,其中\(1\len\le10^5\)。思路因为这道题目可以自由的配置路径并且要求机器人在最后回到原来的位置,那么就应该要到一种适合所有......
  • Spark Special_杨宁远 杂题分析.md
    SparkSpecial图论_杨宁远杂题分析Date:2024-07-03Preface本文基于杨宁远@ynycoding的课件与题单,对省选/NOIP阶段图论的建模方法和解题策略进行总结,以及本阶段常用方法、模型和Trick。A.[AGC056C]0/1Balanced[AGC056C]01Balanced-洛谷|计算机科学教育新生态(......
  • 「杂题乱刷2」CF402D Upgrading Array
    题目链接CF402DUpgradingArray(luogu)CF402DUpgradingArray解题思路首先有一个很显然的结论,就是你一旦在第\(i\)个位置上做了一次操作后,那么你之后所有在第\(j(i\lej)\)个位置做的操作都无效了,因为此时前缀的公因数为\(1\)了。因此有个很显然的结论就是操作需要......
  • 「杂题乱刷2」CF1454F Array Partition
    题目链接CF1454FArrayPartition解题思路我们发现显然第一个和第三个区间的值区间随着长度的增大而增大。于是我们就可以枚举第一个区间的右端点位置,然后现在问题就转化成了找到一个断点来确定第二,三个区间的长度,由于前文提到的第三个区间的值区间随着长度的增大而增大,于是我......
  • 24.7 杂题
    时隔一年啊,不会复建、、、[HNOI2012]与非这个\(\operatorname{NAND}\)实际上可以做出任何位运算操作。而所有的位运算有一个性质,就是说如果两个位一样,那么操作完还是一样的。如果全部\(a\)中这些位置都相同,那么最后理应也相同。也就是假设对于所有\(n\)个\(a\),这两个位......
  • 2024.7.5杂题选讲
    前情提要:题解尽可能的写详细了,但是有些证明写着太费时间就没写了喵本来\(pyb\)想让我弄一个数据结构专题,结果发现我前阵子做的那些列表里的题,每一个的提交记录里都有\(jsy\),很多题里有\(xcy\)。。。实在整不出什么花活了,太菜了没做啥大家都没做过的题qwq,完全的水题选讲关注Luo......
  • 「杂题乱刷2」CF1702F
    哎哎哎,题解区里怎么没我的做法啊/yun。于是就有了这篇题解。题目链接CF1702FEquateMultisets(luogu)CF1702FEquateMultisets(codeforces)解题思路首先我们发现,\(a\)序列中的数字的末尾的\(0\)是无意义的,因此我们可以将\(a\)序列中的每一个数字一直除以\(2\)直......