#prim,gcd#UVA12716 GCD XOR&洛谷 1550 [USACO08OCT]Watering Hole G
UVA12716 GCD XOR
题目
\]
分析
首先来证明一下如果上式成立,那么\(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的更多相关文章
- 【学术篇】洛谷1550——打井Watering Hole
题目の传送门:https://www.luogu.org/problem/show?pid=1550 精简版题意(本来就精简了不是么):n个点,每个点可以选择打井或从别的有水的点引水,求所有点都有水用 ...
- 不失一般性和快捷性地判定决策单调(洛谷P1912 [NOI2009]诗人小G)(动态规划,决策单调性,单调队列)
洛谷题目传送门 闲话 看完洛谷larryzhong巨佬的题解,蒟蒻一脸懵逼 如果哪年NOI(放心我这样的蒟蒻是去不了的)又来个决策单调性优化DP,那蒟蒻是不是会看都看不出来直接爆\(0\)?! 还是要 ...
- 【题解】洛谷P2914[USACO08OCT]断电Power Failure
洛谷P2914:https://www.luogu.org/problemnew/show/P2914 哇 这题目在暑假培训的时候考到 当时用Floyed会T掉 看楼下都是用Dijkstra 难道没有 ...
- p1221网络布线(最小生成树 Prim(普里母)算法) p1222 Watering Hole
描述 Description 农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场.当然,他需要你的帮助.约翰已经给他的农场安排了一条高速的网络线路,他想把这条线路 ...
- 洛谷P2911 [USACO08OCT]牛骨头Bovine Bones【水题】
题目大意:输入S1,S2,S3,随机生成三个数x,y,z,求x+y+z出现次数最多的数(如果有多个答案输出最小的),其中1<=x<=S1,1<=y<=S2,1<=z< ...
- 洛谷 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 ...
- 题解——洛谷P1550 [USACO08OCT]打井Watering Hole(最小生成树,建图)
题面 题目背景 John的农场缺水了!!! 题目描述 Farmer John has decided to bring water to his N (1 <= N <= 300) pas ...
- 洛谷P1550 [USACO08OCT]打井Watering Hole
P1550 [USACO08OCT]打井Watering Hole 题目背景 John的农场缺水了!!! 题目描述 Farmer John has decided to bring water to ...
- 洛谷P1912 [NOI2009]诗人小G(决策单调性)
传送门 题解 决策单调性是个啥……导函数是个啥……这题解讲的是啥……我是个啥…… //minamoto #include<iostream> #include<cstdio> ...
- 洛谷——P2912 [USACO08OCT]牧场散步Pasture Walking(lca)
题目描述 The N cows (2 <= N <= 1,000) conveniently numbered 1..N are grazing among the N pastures ...
随机推荐
- JS内存爆破问题
原理 检测到调试,格式化等,疯狂的在js文件,或者html中进行读写,cookie重写追加,字节追加,导致内存不足够,卡死 内存爆破,指js通过死循环/频繁操作数据库(包括cookie)/频繁调取hi ...
- Google Test Adapter安装
背景 我有一个vs2015 的gtest 工程,编译完成后,需要gtest adapter帮我把测试列表显示出来,但是通过vs自带的工具或者网页下载安装遇到2个问题: 1.下载速度超级慢,慢到我能到火 ...
- 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注入:与构造函数注 ...
- 【Azure Compute Gallery】使用 Python 代码从 Azure Compute Gallery 复制 Image-Version
问题描述 Azure Compute Gallery 可以帮助围绕 Azure 资源(例如映像和应用程序)生成结构和组织,并且支持全局复制. 如果想通过Python代码实现 Image-Version ...
- X86模拟龙芯与编译 .NET CoreCLR
目录 .NET 收到一台龙芯机器 编译 CoreCLR 环境要求 部署虚拟机与环境 Linux 安装 KVM 下载需要的文件 启动模拟器 下载 CoreCLR 尝试编译 CoreCLR 前段时间得知龙 ...
- Jepsen 测试框架在图数据库 Nebula Graph 中的实践
在本篇文章中主要介绍图数据库 Nebula Graph 在 Jepsen 这块的实践. Jepsen 简介 Jepsen 是一款用于系统测试的开源软件库,致力于提高分布式数据库.队列.共识系统等的安全 ...
- Jmeter中属性跟变量的区别?
Jmeter属性全局生效,变量局部生效,jmeter属性默认读取jmeter.properties中的属性配置,在jmeter运行过程中,通过函数${_setProperty(属性名,属性值)来定义 ...
- Java ----多线程 案例
1 package bytezero.threadtest2; 2 3 /** 4 * 银行有一个账户 5 * 有两个储户分别向同一个账户存 3000元,每次存1000,存三次,每次存完打印账户余额 ...
- WireShark学习笔记(一)
1.从WireShark分析网络层协议的传输 下面是网络接口层协议,从图中可以看到两个相邻设备的MAC地址,因此该网络包才能以接力的方式传送到目的地址. 下面是网络层,在这个包中,主要的任务是把TCP ...
- Spring与微服务
Spring与微服务 微服务论文 Melvyn Conway 的意识是,像下图所展示的,设计一个系统时,将人员划分为 UI 团队,中间件团队,DBA 团队,那么相应地,软件系统也就会自然地被划分为 U ...