首页 > 其他分享 >CF 1867 E1. Salyg1n and Array (simple version)

CF 1867 E1. Salyg1n and Array (simple version)

时间:2023-09-18 20:00:13浏览次数:55  
标签:Salyg1n simple CF long int ans include

Link

简单版本的结论还是很容易猜到的。

首先很容易想到的第一步就是尽可能地不覆盖地取尽可能多地区间,最后剩下了一小块。

然后在接着原来的指针一个一个地往右问,直到不能问了为止。

为什么这样是正确的呢?首先,在这样一步一步地往右查询的过程中,我们会发现总是前$k-1个数加上后面的一个数。

然后题面中把EVEN加粗了,因为你会发现,如果这样操作,前 \(k-1\)个数在实际上只会出现奇数次

这样把问到的一堆东西异或起来就是答案了。

#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<queue>
#include<stack>
#include<set>
#include<map>
#include<ctime>
#include<bitset>
using namespace std;
int t;
int n,k;
long long ans;
int ask(int f){
	cout<<"? "<<f<<endl;
	int x;
	cin>>x;
	return x;
	
}
int main(){
	scanf("%d",&t);
	while(t--){
		scanf("%d%d",&n,&k);
		int f;
		ans=0;
		for(f=1;f+2*k-1<=n;f+=k){
			ans^=ask(f);
		}
		for(;f+k-1<=n;++f){
			ans^=ask(f);
		}
		cout<<"! "<<ans<<endl;
	}
	return 0;
}

标签:Salyg1n,simple,CF,long,int,ans,include
From: https://www.cnblogs.com/For-Miku/p/17712931.html

相关文章

  • CF1825A
    CF1825A题目给你一个回文字符串,找出里边长度最大的非回文字符串子串并输出长度,如果没有则输出\(-1\)输入t\((1\let\le50)\)个测试样例,每个样例长度\(\le1000\)输出每行输出最长非回文字符串子串长度,如果没有就输出\(-1\)分析观察得出如果有答案,那么最长子串一定......
  • CF1867D Cyclic Operations
    事实上我们可以发现,如果\(b_i=x\)最后,那么我们可以连一条边,从\(i\)到\(x\)这样我们就得到了一个有向图,在这张有向图呢,可以证明的是如果\(k=1\),那么必须全部都是自环。若不成立,则必须每个环的大小恰好为\(k\)这样就可以解决了。#include<cstdio>#include<iostream>#include<......
  • Django SimpleUI打造美丽后台
    DjangoSimpleUI打造美丽后台Django后台美化插件中,SimpleUI处于第一阵营,非常符合国人的审美观。本文将手把手教你如何配置使用SimpleUI,包括自定义菜单和控制面板等高级使用技巧. 安装 第一步pip安装并加入INSTALLED_APPSpipinstalldjango-simpleui ......
  • SOEM的simple_test代码分析
    安装soem下载SOEM的源码,点击链接下载windows下的插件,winpcap安装winpcap,傻瓜式安装解压代码包windows下编译源代码使用vs自带的make进行编译,我电脑安装有vs2022:打开vs自带的环境控制台,切换到SOEM主站目录下创建一个build目录,我们之后编译生成的文件放到这个目录切换......
  • 2021-6-13-ACFly电赛
    仍然是纯笔记默认飞完一个定点飞行后会进入位置锁定模式位置移动有多个模式单位全部是cm厘米BodyHeading才是机头方向XY方向如下所示设置速度单位是cm/s延时也是老延时了但是不能这么写,会导致全系统暂停任务模式执行有个频率为了延时2s,应该写Mode_Inf->auto_coun......
  • 【原创软件】第2期:CAD文字快速批量替换工具CFR(CAD_FastReplace_V4)
    01 背景由于工作需要,开发了一套CAD文字快速批量替换软件CFR。主要目的是:实现dwg文件一次性完成单对/多对词组快速批量替换。  02 主要功能特色 (1)无需打开CAD,快速实现文字批量替换。(2)支持单组词组替换,多组字符一次性替换。(3)支持区分大小写,正则表达式。  03 软件下......
  • CF70D Professor's task 题解 & 动态凸包板子
    CF70DProfessor'stask题解前言此篇题解用的是\(Andrew\),不想看这种做法的可以绕道。题意动态凸包板子题。维护动态凸包。两种操作,加一个点或查询一个点是否在凸包内。题解首先你得会静态二维凸包。维护二维凸包的方法挺多的,比如什么\(Andrew\)算法,\(Jarvis\)算法还......
  • CF1863G
    简洁的题面,深邃的思想。首先,一个经典的套路是:对于序列中涉及到对于\(a_{a_i}\)和\(a_i\)进行操作的问题,一般可以考虑建立\((i,a_i)\)的内向基环树或者\((a_i,i)\)的外向基环树转化为图论问题。我们建立\((i,a_i)\)的内向基环树,\(swap(a_i,a_{a_i})\impliesa'_i=a_......
  • cf1860f
    萌萌题,但是细节比较麻烦。首先注意到,\(ax+by=\lambda\),由于我们只需要若干括号的相对顺序,其中一个未知数完全可以舍去,因为可以通过另一个未知数达到相同值。设我们只关心\(x\)的取值,变为按照\(ax+b\)排序。那么设\(k'=a\),变成\(\lambda=k'x+b\),这是一个直线方程,而我们需......
  • CF1017H The Films
    Da1y3。今天因为初赛实在是没时间(懒得)写题了www,就放一道之前模拟赛场切的题吧。还有这个CF评分是假的,难点在于看懂题。考虑令\(c_i\)表示序列中\(i\)元素的出现次数,对于一次询问\(l,r\),令\(d_i\)表示\(a_l,a_{l+1},\cdots,a_r\)中\(i\)元素的出现次数。令\(A_n^m......