CF1918C XOR-distance 题解】的更多相关文章

题意简述 原题LightOJ 1240,Point Segment Distance(3D). 求三维空间里线段AB与C. 题解 我们设一个点在线段AB上移动,然后发现这个点与原来的C点的距离呈一个单峰状,于是珂以三分. 三分的时候处理一下,把A点坐标移动到(0,0,0)珂以方便操作. 代码 #include <cstdio> #include <cmath> namespace fast_IO{ const int IN_LEN = 10000000, OUT_LEN = 100…
题目戳这里 [题目大意] 给定一个区间[L,R],求区间内的质数相邻两个距离最大和最小的. [思路分析] 其实很简单呀,很明显可以看出来是数论题,有关于质数的知识. 要注意一下的就是L和R的数据范围都很大,所以直接跑出1-R的所有质数是不可能的,于是我们就要想办法cut掉一些时间了 然后发现跑出1-的所有质数是不会超时的,接下来就好办了,直接用这些质数去标记出[L,R]区间内的合数,这样就可以在规定时间内得到[L,R]区间内的质数了,把相邻两质数相减再比较一下就可以得出答案啦QWQ [代码实现]…
http://poj.org/problem?id=2689 题目大意,给不超过int的l,r,其中r-l+1<=1000000,筛出其中的素数,并且求出相邻素数差值最大和最小的一对. —————————————————— 显然这是一道筛出l和r之间素数的裸题. 我们发现对于区间里的一个合数,其最大质因子不会超过50000(不然50000平方就大于2147483647) 秉承着正难则反的思想,筛1-50000素数,然后用一种很神奇的方法判断掉区间里的合数,统计素数即可. 判断方法: 首先我们将每…
http://acm.hdu.edu.cn/showproblem.php?pid=4825 Zeus 和 Prometheus 做了一个游戏,Prometheus 给 Zeus 一个集合,集合中包含了N个正整数,随后 Prometheus 将向 Zeus 发起M次询问,每次询问中包含一个正整数 S ,之后 Zeus 需要在集合当中找出一个正整数 K ,使得 K 与 S 的异或结果最大.Prometheus 为了让 Zeus 看到人类的伟大,随即同意 Zeus 可以向人类求助.你能证明人类的智慧…
搞n个线性基,然后每次在上一次的基础上插入读入的数,前缀和线性基,或者说珂持久化线性基. 然后一个num数组记录当时线性基里有多少数 然后每次前缀操作一下就珂以了 代码 #include <cstdio> #define ll long long const ll MOD = 1e9+7; ll read(){ ll x = 0; int zf = 1; char ch = ' '; while (ch != '-' && (ch < '0' || ch > '9'…
题目连接:传送门 分析 这道题只看题目中给的样例是找不出规律的 所以我们可以打一下表 1, 2, 4, 5, 8, 10, 13, 14, 18 如果你还是没有看出什么规律的话,我们可以从OEIS上搜索一下 网址:传送门 把这一个数列输入到搜索框,然后就会出现下面的页面 传送门 第一个就是我们想要的数列 大家可以看一下上面的证明和递推式(都是英文) 所以我们可以得到\(f[x]=f[x/2]+f[(x-1)/2]+f[(x-2)/2]\) 证明摘自洛谷: 代码 #include<cstdio>…
目录 题目链接 题解 代码 题目链接 AGC016D - XOR Replace 题解 可以发现一次操作相当于一次置换 对于每个a上的位置映射到b对应 可以找到置换群中的 所有轮换 一个k个元素的轮换需要k+1步完成 那么答案就是边数+轮换数-1 -1的话发现当最一个数为缺少的数时不需吧最后一步换回来 代码 #include<map> #include<cstdio> #include<algorithm> #define gc getchar() #define pc…
Edit Distance 题解 原创文章,拒绝转载 题目来源:https://leetcode.com/problems/edit-distance/description/ Description Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2. (each operation is counted as 1 step.) You have…
题解 A AND Minimum Spanning Tree 参考代码: #include<bits/stdc++.h> #define maxl 200010 using namespace std; int n,ans1; ]; int ans[maxl]; inline void prework() { scanf("%d",&n); } inline int find(int x) { ;j<=;j++) ) return mi[j]; } inlin…
P9033「KDOI-04」XOR Sum 题解 题目链接 传送门 题意简述 构造一个长度为 \(n\),值域为 \([0,m]\) 的异或和为 \(k\) 的序列,如果不存在则输出 \(-1\). 题目分析 首先很容易想到,当 \(k \le m\) 的时候,我们仅需要输出一个 \(k\) 剩下的位置全部填 \(0\) 即可. 而当 \(k > m\) 时,我们至少需要两个数,因此在此时判断 \(n\) 是否等于 \(1\),若不等于 \(1\),根据异或不进位原理,我们还需判断 \(k\)…