做网站在哪儿买空间,外贸网站服务器,网站信息发布,大连建设网球场价格(0条未读通知) 牛客练习赛116_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ (nowcoder.com)
A.等差数列
对于此题可以分为两类#xff1a;
1.当k 0#xff0c;此时A1,A2...值都为a
2.当k ! 0,此时又分为两大类#xff1a; 1.平局#xff08;发现A1,A2,A3等连…(0条未读通知) 牛客练习赛116_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ (nowcoder.com)
A.等差数列
对于此题可以分为两类
1.当k 0此时A1,A2...值都为a
2.当k ! 0,此时又分为两大类 1.平局发现A1,A2,A3等连续的数都是奇偶数交替变化的如果区间内的数可以整除2说明奇偶数相同 2.分出奇偶上方的情况已近判断出奇偶数的个数不相同故现在我们只需要判断出区间内第一个数是奇数还是偶数是奇数就说明奇数多是偶数则说明偶数多eg.123, 234
数字过大开始时可以%2
#includebits/stdc.h
using namespace std;
typedef long long ll;
ll a, k, q, l, r;
int main()
{ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);cin a k q;a % 2;k % 2;while(q --){cin l r;if(k 0){if(a % 2)cout 1 \n;else cout -1 \n; } else{if((r - l 1) % 2 0)cout 0 \n;else{if((a (l - 1) * k) % 2)cout 1 \n;else cout -1 \n;}}}return 0;
}
B. 挖坑
最小步数如果要有所变化不可以只单向的加障碍物需要双向来加因为它可以从左下角走到终点也可以从右上角走到终点所以障碍物必须上下双向开始相加 由此进行规律找寻一列最多有两个障碍物如果双向都是两个障碍物就会多走4步如果一向一个障碍物另一向两个障碍物会多走两步会发现我们每次会加四个障碍物或者三个障碍物四个障碍物会多走4步三个障碍物会多走2步
接下来我们讨论与事实不符合输出-1的情况
1.最少步数都大于k
2.能走的最多的步数小于k
3.需要走的步数为奇数
#includebits/stdc.h
using namespace std;
int q, n, k, res;
int main()
{cin q;while(q --){cin n k;if(n 1 k || (n - 1) / 4 * 4 n 1 k || (k - n- 1) 1)cout -1 \n;else {int p k - n - 1;res p / 4;//需要几个四个障碍物res res * 4 ((k - n - 1 - (res * 4))/ 2) * 3;//加上需要三个障碍物的cout res \n;}}return 0;}