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

江都建设招标网站域名访问网站入口

江都建设招标网站,域名访问网站入口,佛山微信网站推广多少钱,服务器网站建设A-Coprime Pair 思路 我们知道两个质数之间并不会相隔太远&#xff0c;于是我们直接用暴力就可以通过这题。 先从大到小枚举答案&#xff0c;并且枚举所有可能的起点&#xff0c;当枚举到的两个值满足条件输出并结束程序即可。 代码 #include <bits/stdc.h> using n…

A-Coprime Pair

思路

我们知道两个质数之间并不会相隔太远,于是我们直接用暴力就可以通过这题。

先从大到小枚举答案,并且枚举所有可能的起点,当枚举到的两个值满足条件输出并结束程序即可。

代码

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
LL x, y, ans;
LL gcd(LL a, LL b) { return b == 0 ? a : gcd(b, a % b); }
int main() {scanf("%lld%lld", &x, &y);for (LL i = y - x; i; i--) {for (LL j = x; j + i <= y; j++) {if (gcd(j, j + i) == 1) {printf("%d", i);return 0;}}}return 0;
}

B-Count 1’s

思路

假设我们所能得到的分数的最大值为 ansmaxansmaxansmax ,最小值为 ansminansminansmin ,则答案一定为 max−min+1max - min + 1maxmin+1 ,因为每次多改变一个节点,所能取到的分数只会改变一,在整数情况下看他是连续的。

再稍微转换一下,就会发现,其实也就是求变换之后所能对原分数产生的改变的最大值和最小值的差。

于是我们将问题变为了如何求改变的最大值和最小值。

我们先将原数组按一下方式处理:

  • 如果 aia_iai111 ,则将 bib_ibi 设为 −1-11
  • 如果 aia_iai000 ,则将 bib_ibi 设为 111

此时的 bbb 数组记录的就是如果改变这个节点,会对当前分数产生的影响。

我们再将 bbb 数组取一个前缀和,此时 bbb 数组表示的就是从第一个节点到这个节点全部改变对分数产生的影响。

我们记录一个从起点开始改变,所能得到分数的最大值为 maxnmaxnmaxn ,最小值为 minnminnminn

我们从一开始枚举,对于每个节点,我们都将 ansmaxansmaxansmaxansminansminansmin 更新一下,然后更新一下 maxnmaxnmaxnminnminnminn 就可以了。

更新方式看代码。

代码

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
int n, a[300005], b[300005], maxn, minn, ansmax, ansmin;
int main() {scanf("%d", &n);for (int i = 1; i <= n; i++)scanf("%d", &a[i]), b[i] = b[i - 1] + (a[i] == 0 ? 1 : -1);for (int i = 1; i <= n; i++) {ansmax = max(ansmax, b[i] - minn);//b[i]-minn就是以当前节点为结尾所能产生的最大值ansmin = min(ansmin, b[i] - maxn);//b[i]-maxn就是以当前节点为结尾所能产生的最小值maxn = max(maxn, b[i]);minn = min(minn, b[i]);}printf("%d", ansmax - ansmin + 1);return 0;
}

C-Distinct Numbers

思路

我们先看最大两个点。

然后我们分情况讨论。

首先假设两个点之间的距离超过 111 ,此时如果我们将最大值移到次大值加一的位置后,我们必赢,则就移过去。

如果我们必输呢?

因为我们移到次大值加一后,对方必须移到前面一个空位处,我们假设对方移到一个点 aaa 后我们必输,则我们第一次移动就不移到次大值加一,直接移到点 aaa ,此时的局面和我们移到次大值加一的位置然后对方再移到点 aaa 是一样的,因为这个局面先手的人必败,所以我们移到点 aaa 后对方必败。

通过上面两种情况,我们知道如果最大值和次大值之间的差大于一,则无论如何先手必胜。

我们再看看最大值和次大值之间的差等于一的时候。

因为如果我们移到一个位置使得移完后这个节点到最大值之间有空格,此时就会回到我们先前讨论的情况,这是对方是必胜的。

于是我们和对方的每次移动都得要移到前面离最大值最近的空格。

于是我们可以根据空格数来判断谁赢。

如果空格数是偶数,则最后一下是对方移动,那我们必输。

如果空格数是奇数,则最后一下是我们移动,那我们必赢。

于是我们就可以做这道题了。

代码

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
int n, m, a[3000005];
int main() {scanf("%d", &n);for (int i = 1; i <= n; i++) scanf("%d", &a[i]);if (a[n] - a[n - 1] > 1)printf("Alice");else {if ((a[n] - n) % 2)//a[n]-n就相当于空格数printf("Bob");elseprintf("Alice");}return 0;
}
http://www.yidumall.com/news/19255.html

相关文章:

  • 苏州网站建设开发济南网络优化厂家
  • 快速网站仿制qq营销推广方法和手段
  • 如何做医药类网站网站怎么优化到首页
  • 旅游网站开发的目的和意义win10必做的优化
  • 南宁百度网站公司seo推广专员
  • wordpress CPT UIseo结算系统
  • 三级网站菜单栏品牌策划方案案例
  • vs网站开发 百度文库西安seo排名扣费
  • 网站怎么做六个页面外链代发免费
  • 当下网站建设重庆seo排名方法
  • 江门市专业做网站公司cba目前排名
  • 怎么利用快站做网站站长工具关键词挖掘
  • 县 两学一做网站品牌广告投放
  • 水墨风格 网站宁波关键词排名优化
  • 腾脉网建站百度商业平台官网
  • 做网站价格百度网址大全官网旧版
  • 政府网站建设依据seo服务销售招聘
  • 网站做产品的审核工作怎么样营销型网站有哪些
  • 网站优怎么做爱站网长尾关键词挖掘查询工具
  • 建筑工程网页模板百度快照优化排名推广怎么做
  • 济南建站公司注意事项sem推广
  • 秦皇岛网站制作公司列表网推广收费标准
  • 公司网站开发项目百度免费推广方法
  • 做头像网站经典软文案例或软文案例
  • 莒县建设局官方网站html网页制作网站
  • 网站建设毕业论文引言范文百度竞价托管
  • .网站开发工具dw学it需要什么学历基础
  • 温州网站制作系统合肥做网络推广的公司
  • 网站模板论坛商品推广
  • 哪个网站做贷款推广seo推广优化平台