设在第 $x$ 天二人都 lucky,则有 $\DeclareMathOperator{\lcm}{lcm}$ $ x = y_a t_a + R_a $ $ x= y_b t_ b + R_b$ 约束条件: $ l_a \le R_a \le r_a$,$l_b \le R_b \le r_b$ $ y_a, y_b \ge 0$ 写成同余方程组 \begin{cases} x \equiv R_a \pmod{t_a} \\ x \equiv R_b \pmod{t_b} \end{case…
[链接] 我是链接,点我呀:) [题意] [题解] 题解的作者: manish_joshi 对于任意一个k 因为那条直线(关于x,y的方程可以看出一条直线)的斜率>= 所以肯定会经过第一象限. 因此总是能得到一个k1,k2>=0 连续的1的起点尽可能接近. [代码] #include <bits/stdc++.h> #define LL long long #define lson l,mid,rt<<1 #define rson mid+1,r,rt<<1…
https://codeforces.com/contest/1056/problem/B 题意:输入n,m    求((a*a)+(b*b))%m==0的(a,b)种数(1<=a,b<=n) (n<=1e9,m<=1000) 题解:由于a,b的数量级很大,而m的数量级很小,又因为求((a*a)+(b*b))%m==0,即求((a%m*a%m)+(b%m*b%m))%m==0满足要求的a,b对数,也就是求a%m,b%m的平方分别取模后相加为0或者m的a,b对数,由于此时问题只和a%…
http://codeforces.com/contest/1054/problem/D 题目大意:一个序列a1 a2...an,可以对若干个元素进行取反,使所得的新序列异或和为0的区间个数最多. 题目分析:首先易知每个位置的前缀异或和的值只有两种,因为对元素进行取反时,取偶数个元素异或和不变,奇数个元素就是原值取反.然后由于对一个位置取反,不会影响后面位置与这个位置的前缀异或和相同的位置个数(因为这个位置取反后,后面各个位置的前缀异或和也跟着改变),所以一个位置的改变只会影响与前面位置前缀和相…
题目链接 分析一下题意可以得到题目要求的是满足下面这个 公式的不同的i,ji,ji,j的方案数; 即(i2+j2)mod&ThinSpace;&ThinSpace; m=0 (n ≤ i,j≤ n)(i^2+j^2)\mod \ m =0\ ( n\ \leq\ i,j\leq \ n)(i2+j2)mod m=0 (n ≤ i,j≤ n). 当然n2n^2n2是可以解决的,但是数据范围不允许我们这么做,于是我们可以换个思路,如果一个数iii满足 imod&ThinSpace;&a…
A:签到 #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #include<algorithm> using namespace std; #define ll long long #define N 110 char getc(){char c=getchar();while ((c<'A'||c&g…
A:阅读理解. #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #include<algorithm> using namespace std; #define ll long long #define N 1010 char getc(){char c=getchar();while ((c<'A'|…
A. Metro Solved. 题意: 有两条铁轨,都是单向的,一条是从左往右,一条是从右往左,Bob要从第一条轨道的第一个位置出发,Alice的位置处于第s个位置,有火车会行驶在铁轨上,一共有n个站点,1表示火车会在该站点停下,0表示不会,求Bob能否到达地s个位置(到达任意一边即可) 思路: 如果第一条铁轨的第一个位置为0,或者第s个位置的两条铁轨都不停,那么答案显然是$"No"$ 再考虑第一条铁轨上所有为1的位置都可以到达 再考虑两条轨道是否有同一个站点都都会停下的,那么就可以…
A. Determine Line Water. #include <bits/stdc++.h> using namespace std; ]; int main() { while (scanf("%d", &n) != EOF) { memset(vis, , sizeof vis); , tot, x; i <= n; ++i) { scanf("%d", &tot); while (tot--) { scanf("…
A. Elevator or Stairs? 签. #include <bits/stdc++.h> using namespace std; ]; int main() { while (scanf("%d%d%d", &x, &y, &z) != EOF) { ; i < ; ++i) scanf("%d", t + i); ] + * t[]; ]; puts(a <= b ? "YES" :…