UVA12716 GCD XOR

题目

\[\sum_{i=1}^{n}\sum_{j=i}^n[\gcd(i,j)==i\;xor\;j]
\]

分析

首先来证明一下如果上式成立,那么\(i\;xor\;j=i-j(i>j)\)

当\(i=j\)时必然不可能相等,钦定\(i>j\)

那么\(i\;xor\;j\geq i-j\),因为异或可以视为不退位的减法

并且\(\gcd(i,j)\leq i-j\),当\(i\)与\(j\)互质时两式一定成立,

否则左右两边同时约掉最大公约数,那么依然成立(更相减损法也可以证明)

要想用\(i\;xor\;j=i-j\)证明\(gcd(i,j)=i\;xor\;j\)

就必须要满足\(gcd(i,j)=i-j\),因为更相减损法,所以\(gcd(i,i-j)=gcd(i,j)\)

所以必须要满足\(gcd(i,i-j)=i-j\)那说明\(i\)是\(i-j\)的倍数,

那么枚举\(i-j\)和它的倍数\(i\),求出\(j\),然后用\(i\;xor\;j=i-j\)判断

由于\(i-(i-j)=j,i\;xor(i-j)\;=j\)所以可以直接用\(i\)和\(i-j\)判断即可


代码

#include <cstdio>
#define rr register
using namespace std;
int ans,n;
signed main(){
scanf("%d",&n);
for (rr int i=1;i<=n;++i)
for (rr int j=2;j*i<=n;++j)
ans+=((j*i)^i)==j*i-i;
printf("%d",ans);
return 0;
}

洛谷 1550 [USACO08OCT]Watering Hole G

题目


分析

考虑建一个超级源点与所有点相连边权为开凿水井的费用,

那就是一道裸的最小生成树,用prim解决就可以了


代码

#include <cstdio>
#include <cctype>
#define rr register
using namespace std;
const int N=311;
int n,low[N],dis[N][N],ans,v[N];
inline signed iut(){
rr int ans=0; rr char c=getchar();
while (!isdigit(c)) c=getchar();
while (isdigit(c)) ans=(ans<<3)+(ans<<1)+(c^48),c=getchar();
return ans;
}
signed main(){
n=iut()+1,low[0]=1e9;
for (rr int i=2;i<=n;++i) dis[1][i]=dis[i][1]=iut();
for (rr int i=2;i<=n;++i)
for (rr int j=2;j<=n;++j) dis[i][j]=iut();
for (rr int i=1;i<=n;++i) low[i]=dis[1][i]; v[1]=1;
for (rr int i=1;i<n;++i){
rr int k=0;
for (rr int j=1;j<=n;++j)
if (low[k]>low[j]&&!v[j]) k=j;
ans+=low[k],v[k]=1;
for (rr int j=1;j<=n;++j)
if (low[j]>dis[k][j]&&!v[j])
low[j]=dis[k][j];
}
return !printf("%d",ans);
}

#prim,gcd#UVA12716 GCD XOR&洛谷 1550 [USACO08OCT]Watering Hole G的更多相关文章

  1. 【学术篇】洛谷1550——打井Watering Hole

    题目の传送门:https://www.luogu.org/problem/show?pid=1550 精简版题意(本来就精简了不是么):n个点,每个点可以选择打井或从别的有水的点引水,求所有点都有水用 ...

  2. 不失一般性和快捷性地判定决策单调(洛谷P1912 [NOI2009]诗人小G)(动态规划,决策单调性,单调队列)

    洛谷题目传送门 闲话 看完洛谷larryzhong巨佬的题解,蒟蒻一脸懵逼 如果哪年NOI(放心我这样的蒟蒻是去不了的)又来个决策单调性优化DP,那蒟蒻是不是会看都看不出来直接爆\(0\)?! 还是要 ...

  3. 【题解】洛谷P2914[USACO08OCT]断电Power Failure

    洛谷P2914:https://www.luogu.org/problemnew/show/P2914 哇 这题目在暑假培训的时候考到 当时用Floyed会T掉 看楼下都是用Dijkstra 难道没有 ...

  4. p1221网络布线(最小生成树 Prim(普里母)算法) p1222 Watering Hole

    描述 Description 农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场.当然,他需要你的帮助.约翰已经给他的农场安排了一条高速的网络线路,他想把这条线路 ...

  5. 洛谷P2911 [USACO08OCT]牛骨头Bovine Bones【水题】

    题目大意:输入S1,S2,S3,随机生成三个数x,y,z,求x+y+z出现次数最多的数(如果有多个答案输出最小的),其中1<=x<=S1,1<=y<=S2,1<=z< ...

  6. 洛谷 P2212 [USACO14MAR]Watering the Fields S 题解

    2021-08-03 20:31:13 链接: https://www.luogu.com.cn/problem/P2212 题目详情: Due to a lack of rain, Farmer J ...

  7. 题解——洛谷P1550 [USACO08OCT]打井Watering Hole(最小生成树,建图)

    题面 题目背景 John的农场缺水了!!! 题目描述 Farmer John has decided to bring water to his N (1 <= N <= 300) pas ...

  8. 洛谷P1550 [USACO08OCT]打井Watering Hole

    P1550 [USACO08OCT]打井Watering Hole 题目背景 John的农场缺水了!!! 题目描述 Farmer John has decided to bring water to ...

  9. 洛谷P1912 [NOI2009]诗人小G(决策单调性)

    传送门 题解 决策单调性是个啥……导函数是个啥……这题解讲的是啥……我是个啥…… //minamoto #include<iostream> #include<cstdio> ...

  10. 洛谷——P2912 [USACO08OCT]牧场散步Pasture Walking(lca)

    题目描述 The N cows (2 <= N <= 1,000) conveniently numbered 1..N are grazing among the N pastures ...

随机推荐

  1. JS内存爆破问题

    原理 检测到调试,格式化等,疯狂的在js文件,或者html中进行读写,cookie重写追加,字节追加,导致内存不足够,卡死 内存爆破,指js通过死循环/频繁操作数据库(包括cookie)/频繁调取hi ...

  2. Google Test Adapter安装

    背景 我有一个vs2015 的gtest 工程,编译完成后,需要gtest adapter帮我把测试列表显示出来,但是通过vs自带的工具或者网页下载安装遇到2个问题: 1.下载速度超级慢,慢到我能到火 ...

  3. Error creating bean with name 'XXX': Bean with name 'senseOneToSomeFeignImpl' has been injected into other beans [XXXXXX] in its raw version as part of a circular reference

    关于Spring框架中的循环依赖问题,您可以尝试以下几种方法来解决: 重新定义Bean依赖:重构代码以消除循环依赖.这可能涉及重新设计类,使它们不相互依赖即可运行. 使用Setter注入:与构造函数注 ...

  4. 【Azure Compute Gallery】使用 Python 代码从 Azure Compute Gallery 复制 Image-Version

    问题描述 Azure Compute Gallery 可以帮助围绕 Azure 资源(例如映像和应用程序)生成结构和组织,并且支持全局复制. 如果想通过Python代码实现 Image-Version ...

  5. X86模拟龙芯与编译 .NET CoreCLR

    目录 .NET 收到一台龙芯机器 编译 CoreCLR 环境要求 部署虚拟机与环境 Linux 安装 KVM 下载需要的文件 启动模拟器 下载 CoreCLR 尝试编译 CoreCLR 前段时间得知龙 ...

  6. Jepsen 测试框架在图数据库 Nebula Graph 中的实践

    在本篇文章中主要介绍图数据库 Nebula Graph 在 Jepsen 这块的实践. Jepsen 简介 Jepsen 是一款用于系统测试的开源软件库,致力于提高分布式数据库.队列.共识系统等的安全 ...

  7. Jmeter中属性跟变量的区别?

    Jmeter属性全局生效,变量局部生效,jmeter属性默认读取jmeter.properties中的属性配置,在jmeter运行过程中,通过函数${_setProperty(属性名,属性值)来定义 ...

  8. Java ----多线程 案例

    1 package bytezero.threadtest2; 2 3 /** 4 * 银行有一个账户 5 * 有两个储户分别向同一个账户存 3000元,每次存1000,存三次,每次存完打印账户余额 ...

  9. WireShark学习笔记(一)

    1.从WireShark分析网络层协议的传输 下面是网络接口层协议,从图中可以看到两个相邻设备的MAC地址,因此该网络包才能以接力的方式传送到目的地址. 下面是网络层,在这个包中,主要的任务是把TCP ...

  10. Spring与微服务

    Spring与微服务 微服务论文 Melvyn Conway 的意识是,像下图所展示的,设计一个系统时,将人员划分为 UI 团队,中间件团队,DBA 团队,那么相应地,软件系统也就会自然地被划分为 U ...