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. 【Android逆向】破解看雪9月算法破解第三题

    这题的目标是算法还原,并写出注册机 1. 9月份算法第一题.apk 安装到手机 2. 随意输入账号密码,提示错误 3. apk拖入到jadx中 public native boolean regist ...

  2. 麒麟系统开发笔记(四):从Qt源码编译安装之编译安装QtCreator4.8.1,并配置编译测试Demo

    前言   本篇紧接上一篇,上一篇已经从Qt源码编译了Qt,那么Qt开发的IDE为QtCreator,本篇从源码编译安装QtCreator,并配置好构建套件,运行Demo并测试.   QtCreator ...

  3. jstack查看JVM堆栈信息

    目录 介绍 线程状态 Monitor 调用修饰 线程动作 命令格式 常用参数说明 使用实例 jstack pid jstack 查看线程具体在做什么,可看出哪些线程在长时间占用CPU,尽快定位问题和解 ...

  4. 【Azure 环境】向Azure Key Vault中导入证书有输入密码,那么导出pfx证书的时候,为什么没有密码呢?

    问题描述 将pfx证书导入Key Vault的证书时,这个PFX需要输入正确的密码导入成功.但是当需要导出时,生成的pfx证书则不需要密码.这是正常的情况吗? 问题解答 是的,这是Azure Key ...

  5. 【Azure 应用服务】登录App Service 高级工具 Kudu站点的 Basic Auth 方式

    问题描述 从Azure App Service的页面中,直接跳转到高级管理工具Kudu站点(https://<your app service name>.scm.chinacloudsi ...

  6. Mysql常用存储引擎以及区别?

    InnoDB:是Mysql的默认存储引擎,支持事务.外键.如果应用对事务的完整性有比较高的要求,在并发条件下要求数据的一致性,数据操作除了插入和查询之外,还包含很多的更新.删除操作,那么InnoDB存 ...

  7. PlatformIO+esp32+添加自己的库(.c.h文件)

        什么都放main.c的话,很有可能堆积成屎山,所以我想给分开写,每个功能有自己的.c..h文件. 在lib下新建文件夹,例如led,再在里面分别建led.c.led.h; 写好内容后再main ...

  8. Java 手动抛异常

    1 package com.bytezero.throwable; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 impor ...

  9. 2、mysql存储引擎

    存储引擎 1 存储引擎概述 和大多数的数据库不同, MySQL中有一个存储引擎的概念, 针对不同的存储需求可以选择最优的存储引擎. 存储引擎就是存储数据,建立索引,更新查询数据等等技术的实现方式 .存 ...

  10. Codeforces Round 799 (Div. 4)G. 2^Sort

    暴力枚举每一个端点然后去check 显然是复杂度为\(O(n^2)\)是来不及的. 我们考虑大区间满足小区间一定满足,用两个指针维护一下当前满足不等式的区间,然后长度达到就计算答案. 思路很简单,主要 ...