当前位置: 首页 > news >正文

网站打开速度慢跟什么有关系/百度首页百度

网站打开速度慢跟什么有关系,百度首页百度,企业网站建设义乌,彩票网站开发违法A. Two Frogs 题目大意 长为n的线段上,A和B分别控制一颗棋子(给定初始位置ab),每次必须左或者右移动一步,二者不能重合,不能移动时输,问A先手能否必胜 解题思路 由于二者每次必须要移动&…

A. Two Frogs

题目大意

长为n的线段上,A和B分别控制一颗棋子(给定初始位置ab),每次必须左或者右移动一步,二者不能重合,不能移动时输,问A先手能否必胜

解题思路

由于二者每次必须要移动,因此距离的奇偶性始终不变,只需要看二者距离奇偶性即可

代码实现

#include <bits/stdc++.h>using i64 = long long;int main() {std::ios::sync_with_stdio(false);std::cin.tie(0);std::cout.tie(0);int t;std::cin >> t;while (t--) {int n, a, b;std::cin >> n >> a >> b;if (std::abs(a - b) % 2) {std::cout << "NO\n";} else {std::cout << "YES\n";}}
}

B. Crafting

题目大意

给你ab两个数组,你可以让i位置+1,然后所有其他位置都会-1,途中不能出现负数,问能否让所有 a i ≥ b i a_i \geq b_i aibi

解题思路

先看有多少个地方不满足,如果超过一个,则显然不可能实现,因为会导致出现负数,对于只有一个的情况直接按照题意模拟看能否实现即可

代码实现

#include <bits/stdc++.h>using i64 = long long;int main() {std::ios::sync_with_stdio(false);std::cin.tie(0);std::cout.tie(0);int t;std::cin >> t;while (t--) {int n;std::cin >> n;std::vector<int> a(n), b(n);for (int i = 0; i < n; i++) {std::cin >> a[i];}for (int i = 0; i < n; i++) {std::cin >> b[i];}int cnt = 0, p;for (int i = 0; i < n; i++) {a[i] -= b[i];if (a[i] < 0) {cnt++;p = i;}}if (cnt == 0) {std::cout << "YES\n";} else if (cnt >= 2) {std::cout << "NO\n";} else {int f = 1;for (int i = 0; i < n; i++) {if (i != p) {a[i] += a[p];if (a[i] < 0) {f = 0;}}}if (f) {std::cout << "YES\n";} else {std::cout << "NO\n";}}}
}

C. The Trail

题目大意

给你一个n*m的数字矩阵,现在有一条(1,1)到(n,m)的路径被置零,让你填充这条路径,满足矩阵所有行列求和相等

解题思路

nx=mx,显然和为0的时候是一个答案,此后按照路径逐个填充即可

代码实现

#include <bits/stdc++.h>using i64 = long long;int main() {std::ios::sync_with_stdio(false);std::cin.tie(0);std::cout.tie(0);int t;std::cin >> t;while (t--) {int n, m;std::cin >> n >> m;std::string s;std::cin >> s;std::vector<std::vector<i64>> g(n, std::vector<i64>(m));for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {std::cin >> g[i][j];}}i64 x = 0, y = 0, sum = 0;for (int i = 0; i < n + m - 2; i++) {sum = 0;if (s[i] == 'D') {for (int j = 0; j < m; j++) {sum += g[x][j];}g[x][y] = -sum;x++;} else {for (int j = 0; j < n; j++) {sum += g[j][y];}g[x][y] = -sum;y++;}}sum = 0;for (int i = 0; i < n; i++) {sum += g[i][m - 1];}g[x][y] = -sum;for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {std::cout << g[i][j] << " \n"[j == m - 1];}}}
}

D. Scarecrow

题目大意

数轴n = 0处有一只乌鸦,此外还有n个稻草人在数轴上,他们每秒可以左右移动一个单位,如果x处的乌鸦非右侧y处有稻草人满足x-y<=k时,乌鸦会被传送到y+k处,问乌鸦要到大于l处的最短时间的两倍是多少

解题思路

乌鸦的移动方式只有两种,一种是左侧有稻草人隔k每次把乌鸦向右推1个单位,另一种稻草人到了乌鸦左侧k范围内把乌鸦向右弹k个单位
两倍时间等于两倍距离,所以可以把距离都翻倍再开始算,首先肯定是让最左侧的稻草人过来把乌鸦弹过去,因此初始化位置now=k,时间time=a0
对于在当前乌鸦位置左侧的稻草人,让稻草人从右边往左走到尽可能靠近乌鸦的位置看能不能把乌鸦弹出去(乌鸦的位置就是弹的最远的位置,所以要和now取min);如果不行则只能让左侧的稻草人推着乌鸦走,并且右侧的稻草人移动过来,这个等待的时间是二者距离的一半,之后再弹k个单位如此往复直到右侧没有稻草人,最后再把目标位置和当前位置的差值加上即可

代码实现

#include <bits/stdc++.h>using i64 = long long;int main() {std::ios::sync_with_stdio(0);std::cin.tie(0);std::cout.tie(0);int t;std::cin >> t;while (t--) {i64 n, k, l;std::cin >> n >> k >> l;k *= 2, l *= 2;std::vector<i64> a(n);for (int i = 0; i < n; i++) {std::cin >> a[i];a[i] *= 2;}i64 now = k, time = a[0];for (int i = 1; i < n; i++) {if (a[i] <= now) {a[i] = std::min(a[i] + time, now);if (now - a[i] <= k) {now = a[i] + k;}continue;}if (a[i] - now > time) {i64 dist = a[i] - now - time;time += dist / 2;now += dist / 2;}now += k;}std::cout << time + std::min(0ll, l - now)<< "\n";}
}
http://www.whsansanxincailiao.cn/news/31973214.html

相关文章:

  • 信息网站设计方案/百度我的订单
  • 科技创新论文800字/深圳网站优化
  • 大企业网站建设/好用的种子搜索引擎
  • 沧州各种网站/写手接单平台
  • 铁岭网站制作/小程序开发收费价目表
  • 白沟网站建设/seo如何去做优化
  • 网站建设一年多少恰/云南网站建设快速优化
  • asp网站开发招聘/百度推广客服工作怎么样
  • 做ppt好的网站/搜索引擎优化的英文缩写
  • 全屋定制怎么样做网站/宜昌今日头条新闻
  • 怎么做网站教程图片/成都seo达人
  • 做电商网站哪里好/网站建设seo优化培训
  • 化妆品网站建设预算明细表/免费写文章的软件
  • 婚纱摄影网站制作/谷歌play商店官网
  • c2c网站建站的标准/深圳seo优化方案
  • 网站的可视化设计/北京seo人员
  • 网站建设的基础资料/百度浏览器下载官方免费
  • 毕设做的网站可以用模板改吗/株洲seo排名
  • 湛江网站的建设/搜索量排名
  • 包头学做网站/网站建设方案开发
  • 做网站写的代号好跟不好的区别/苏州关键词seo排名
  • wordpress限制用户进入页面纯代码/西安seo关键字优化
  • 济邦建设有限公司官方网站/免费模式营销案例
  • 慕课网网站开发背景/中国十大网站排名
  • 建设网站怎么知道真假/毕业设计网站
  • 有人拉我做彩票网站/最近新闻热点大事件
  • 怎样做公司网站banner/销售策略和营销策略
  • 下做图软件在哪个网站下载/网络营销的推广方法有哪些
  • ppt超链接至网站怎么做/世界最新新闻
  • python代码网站/百度自动点击器怎么用