不会啊。

T1

找规律: 辗转相减,加速。

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<queue>
#include<cmath>
using namespace std;
long long a,b,c,ans=;
int main()
{
freopen("seq.in","r",stdin);
freopen("seq.out","w",stdout);
scanf("%lld%lld",&a,&b);
if(abs(a-b)==)
{
cout<<(a+);
return ;
}
if(a<b)
{
c=a;
a=b;
b=c;
} while(a&&b)
{
if(b<a-b)
b=a-b;
c=a-b;
if(c<b)
{a=b;b=c;}
else
if(c>b)
{a=c;}
else
if(b==c)
{a=c;ans--;}
ans++;
if(b==)
{
cout<<ans+a-<<endl;
return ;
}
}
cout<<ans<<endl;
return ;
}

first

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<queue>
#include<cmath>
using namespace std;
long long a,b,c,ans;
int main()
{
freopen("seq.in","r",stdin);
freopen("seq.out","w",stdout);
scanf("%lld%lld",&a,&b);
if(a<b)
{
c=a;
a=b;
b=c;
}
c=a%b;
while(c)
{
ans+=a/b;
a=b;b=c;c=a%b;
}
ans+=a/b;
ans++;
cout<<ans<<endl;
return ;
}

除法加速

T2

好写的一种方法,直接建一棵最大生成树。

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<queue>
#include<cmath>
#include<ctime>
using namespace std;
const int N=;
struct node{
int x,y,z;
}a[N*];
int f[N],size[N],last[N];
int n,m;
long long ans[N];
bool cmp(node v,node u)
{ return v.z>u.z;}
int find(int x)
{
while(x!=f[x])
x=f[x]=f[f[x]];
return x;
}
int main()
{
freopen("car.in","r",stdin);
freopen("car.out","w",stdout);
scanf("%d%d",&n,&m);
for(int i=;i<=m;i++)
scanf("%d%d%d",&a[i].x,&a[i].y,&a[i].z); sort(a+,a++m,cmp);
for(int i=;i<=n;i++)
f[i]=i,size[i]=,last[i]=;
int f1,f2,i=;
f1=find(a[].x);f2=find(a[].y);
if(f1!=f2)
f[f1]=f2,size[f2]+=size[f1];
while(i<=m+)
{
while(a[i].z==a[i-].z)
{
f1=find(a[i].x);
f2=find(a[i].y);
if(f1!=f2)
f[f1]=f2,size[f2]+=size[f1];
i++;
}
for(int j=;j<=n;j++)
{
ans[j]+=(1LL*size[find(j)]-1LL*last[j])*(1LL*size[find(j)]-1LL*last[j]);
last[j]=size[f[j]];
}
f1=find(a[i].x);f2=find(a[i].y);
if(f1!=f2)
f[f1]=f2,size[f2]+=size[f1];
i++;
}
for(int i=;i<=n;i++)
printf("%lld ",ans[i]);
cout<<'\n'<<clock();
return ;
}

first 30

我自己测得50%的数据试过的,跑的贼快。不知道哪错了。

反正我的做法是O(nm)的不是正解。

正解是见一棵最大生成树,

T3

部分分dp

很难noi思维难度

Day4下午的更多相关文章

  1. Day4下午解题报告

    预计分数:30+30+0=60 实际分数:30+30+10=70 稳有个毛线用,,又拿不出成绩来,, T1 https://www.luogu.org/problem/show?pid=T15626 ...

  2. qbzt day4 下午

    有向图的强连通分量 强联通:两个点之间可以互相到达 如果某个图任意两个点都是强联通的,那么称这个图强联通 如果一个图的子图是强联通的,那么称这个图是强联通子图 一个图的极大强联通子图被称作强连通分量 ...

  3. WC2017 游记

    你若安好,便是晴天. 其实本来是有一个写的比较详细的游记的……然而后来给断了,懒得补上了,简单一点好了. Day 0 早早爬起来去赶高铁…… 路上没太多可以写的……坐高铁的时候想起来了一些不开心的事情 ...

  4. Alpha冲刺! Day4 - 磨刀

    Alpha冲刺! Day4 - 磨刀 今日已完成 晨瑶:和大家交流了一下,反思这阶段团队遇到的问题. 昭锡:今天跟学长交流了点问题,学习了Gson使用. 永盛:Gravel 数据库重新设计. 立强:看 ...

  5. 搞了我一下午竟然是web.config少写了一个点

    Safari手机版居然有个这么愚蠢的bug,浪费了我整个下午,使尽浑身解数,国内国外网站搜索解决方案,每一行代码读了又想想了又读如此不知道多少遍,想破脑袋也想不通到底哪里出了问题,结果竟然是web.c ...

  6. System.DateUtils 3. IsPM、IsAM 判断是否为上、下午

    编译版本:Delphi XE7 function IsPM(const AValue: TDateTime): Boolean; inline;function IsAM(const AValue: ...

  7. NOI2018准备Day4

    上午9点20至11点50就做出了一道题,一个很基础的二分挡住了,原因是浮点数精度问题的处理,现在还搞不懂,为什么用double存进去两位小数过不了,用double存进去两位小数再*100再/100就能 ...

  8. 用一个下午从零开始搭建一个基础lbs查询服务

    背景 现在做一个sns如果没有附近的功能,那就是残缺的.网上也有很多现成的lbs服务,封装的很完整了. 我首先用了下百度lbs云,但是有点不适合自己的需要,因此考虑用mongodb建一个简单的lbs服 ...

  9. 新蒂下午茶体基本版SentyTEA-Basic

    一.目前的最新版新蒂下午茶体包含了7600+常用汉字,每个字都是手写而成,是一套充满手写感的中文字体,轻松.惬意,如同慢饮一杯下午茶.SentyTEA-Basic.ttf  这个一个新蒂下午茶体基本版 ...

随机推荐

  1. 对XML文档进行修改

    怎样对XML文档时行修改.Insus.NET在此举个简单的例子.XML文档,就以这篇博文:http://www.cnblogs.com/insus/p/3274220.html 如果我们想对其中一个节 ...

  2. volatile关键字小结

    Java 提供了一种稍弱的同步机制,即 volatile 变量,用来确保将变量的更新操作通知到其他线程.可以将 volatile 看做一个轻量级的锁,但是又与锁有些不同: 1. 对于多线程,不是一种互 ...

  3. vue_cli下开发一个简单的模块权限系统之建立登录页面并且实现在浏览器输入地址出现内容

    新建一个Login.vue(登录页面,先把Hello.vue的内容复制过来即可) 然后我们打开router下面的index.js,第一个箭头:(引入vue路由)第二个箭头(引入我们新建的Login.v ...

  4. jdk 1.6.0_41 下载

    Java SE Development Kit 6u41 Product / File Description File Size Download password Linux x86 65.43 ...

  5. SURF特征识别

    如果对Surf的探究或者使用到此为止,我觉得只是用Surf这把牛刀吓唬了一个小鸡仔,万里长征才刚刚开始第一步,最少有三个问题需要得到解答: 1. 保存特征点信息的keyPoints向量内每个元素包含有 ...

  6. flask 坑

    no python application found, check your startup logs for errors 日志里面报类似于“Mon Mar 23 10:26:49 2015 – ...

  7. jeesite 框架的简单应用

    个人觉得比较完善的一个讲解jeesite的网站 https://www.w3cschool.cn/jeesite/ jeesite官网 http://jeesite.com/ 公司项目都是基于jees ...

  8. CSS(十二).transition的应用之CSS中心扩散

    实现 css中心向两边扩散的两个核心 1.hover 之前的 垂直居中 2.文字置于最顶层 顺道来讲讲hover 伪元素是不支持 hover 的,不过我们可以给普通的 tag 标签添加 hover 以 ...

  9. [Java]如何把Soap Message装成一个String对象

    代码片段 // Create transformer TransformerFactory tff = TransformerFactory.newInstance(); Transformer tf ...

  10. ubuntu下vnc部署安装

    ubuntu下vnc部署安装,参考如下博客:https://www.cnblogs.com/xuliangxing/p/7642650.html https://jingyan.baidu.com/a ...