2018徐州现场赛A
题目链接:http://codeforces.com/gym/102012/problem/A
题目给出的算法跑出的数据是真的水
#include<iostream>
#include<algorithm>
using namespace std;
unsigned long long k1,k2;
#define inf 0x3f3f3f3f
#define mod 1000000007
int tot;
unsigned long long xo()
{
unsigned long long k3=k1,k4=k2;
k1=k4;
k3^=k3<<;
k2=k3^k4^(k3>>)^(k4>>);
return k2+k4;
}
struct edge{
int u,v;
unsigned long long w;
bool operator <(const edge &a)const{
return w<a.w;
}
}e[];
int n,m,fa[],cnt;
unsigned long long ans;
void add(int u,int v,unsigned long long w)
{
e[++cnt].u=u;
e[cnt].v=v;
e[cnt].w=w;
}
void gen()
{
int u,v;
unsigned long long w;
scanf("%d%d%llu%llu",&n,&m,&k1,&k2);
cnt=;
for(int i=;i<=m;i++)
{
u=xo()%n+;
v=xo()%n+;
w=xo();
add(u,v,w);
}
}
int _find(int u)
{
if(fa[u]==u)return u;
return fa[u]=_find(fa[u]);//路径压缩
}
unsigned long long solve()
{
tot=;
sort(e+,e++cnt);
int u,v,x,y;
unsigned long long w;
ans=;
for(int i=;i<=n;i++)
fa[i]=i;
for(int i=;i<=cnt;i++)
{
u=e[i].u;v=e[i].v;w=e[i].w;
x=_find(u);y=_find(v);
if(x!=y)
{
ans=(ans+w)%mod;
tot++;
fa[y]=x;
if(tot==n)return ans;
}
}
return ;
}
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
gen();
ans=inf;
printf("%llu\n",solve());
}
return ;
}
2018徐州现场赛A的更多相关文章
- 2018 icpc 徐州现场赛G-树上差分+组合数学-大佬的代码
现场赛大佬打印的代码,观摩了一哈. 写了注释,贴一下,好好学习.%%%PKU 代码: //树上差分(LCA) #include<bits/stdc++.h> #define For(i,x ...
- 2018徐州网络赛 - Trace
题意:n个左下角为原点右上角在第一象限的矩形不断覆盖,求最后形成的图形的周长 x和y是独立的,分别维护两棵线段树,一棵表示x坐标下最大的y值,另一棵表示y坐标下最大的x值 从覆盖的角度来考虑,如果逆序 ...
- ACM-ICPC 2018徐州网络赛-H题 Ryuji doesn't want to study
死于update的一个long long写成int了 真的不想写过程了 ******** 树状数组,一个平的一个斜着的,怎么斜都行 题库链接:https://nanti.jisuanke.com/t/ ...
- 2018徐州网络赛H. Ryuji doesn't want to study
题目链接: https://nanti.jisuanke.com/t/31458 题解: 建立两个树状数组,第一个是,a[1]*n+a[2]*(n-1)....+a[n]*1;第二个是正常的a[1], ...
- 2018南京现场赛K 随机输出
题目链接:http://codeforces.com/gym/101981/attachments n和m太小,空地联通无环,总步数太大,直接随机输出5w个方向 #include<iostrea ...
- 2018南京现场赛D 模拟退火
题目链接:https://codeforces.com/gym/101981/attachments 给你n个城市的三维坐标,叫你求得一个坐标使这个坐标到其他城市的最大距离最小,并输出这个距离(距离不 ...
- 2019icpc徐州现场赛 H Yuuki and a problem (树状数组套主席树)
题意 2e5的数组,q个操作 1.将\(a[x]\)改为y 2.求下标l到r内所有的\(a[i]\)通过加法不能构成的最小的值 思路 通过二操作可以知道需要提取l到r内的值及其数量,而提取下标为l到r ...
- 2018 ICPC 徐州网络赛
2018 ICPC 徐州网络赛 A. Hard to prepare 题目描述:\(n\)个数围成一个环,每个数是\(0\)~\(2^k-1\),相邻两个数的同或值不为零,问方案数. solution ...
- Ryuji doesn't want to study 2018徐州icpc网络赛 树状数组
Ryuji is not a good student, and he doesn't want to study. But there are n books he should learn, ea ...
随机推荐
- 【codeforces 761B】Dasha and friends
time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...
- python基础三之字符串
Python的数据类型 数字(int),如1,2,3,用于计算. 字符串(str),如s = 'zxc',储存少量数据,进行操作. 布尔值(bool),True和False,用于进行判断. 列表(li ...
- H3C 单路径网络中环路产生过程(2)
- UVA 437 "The Tower of Babylon" (DAG上的动态规划)
传送门 题意 有 n 种立方体,每种都有无穷多个. 要求选一些立方体摞成一根尽量高的柱子(在摞的时候可以自行选择哪一条边作为高): 立方体 a 可以放在立方体 b 上方的前提条件是立方体 a 的底面长 ...
- python调用java代码,jpype简单使用
- linux 不用 ioctl 的设备控制
有时控制设备最好是通过写控制序列到设备自身来实现. 例如, 这个技术用在控制台驱动 中, 这里所谓的 escape 序列被用来移动光标, 改变缺省的颜色, 或者进行其他的配置任 务. 这样实现设备控制 ...
- 微信里首次跳转会到首页问题(window.location失效)
将window.location.href 换为location.href
- ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(2)之创建项目
我们在创建项目的时候一定要遵循层次和命名的原则,同时也要有统一的规范,无论是多人项目还是单人项目,能够让人看着一目了然并赏析悦目,做一个有追求的程序员. 例如IA.WebApp是视图控制器层(表现层) ...
- Common Logging包装设计
类设计 LogFactory根据当前环境加载具体的Log实现: 1.从缓存中加载LogFactory 2.从系统属性org.apache.commons.logging.LogFactory 中加载L ...
- sed工具
SED是一个非交互式文本编辑器,它可对文本文件和标准输入进行编辑,标准输入可以来自键盘输入.文本重定向.字符串.变量,甚至来自于管道的文本,与VIM编辑器类似,它一次处理一行内容,Sed可以编辑一个或 ...