1263

拉升一下就A了

#include <iostream>
#include <vector>
#include <algorithm>
#include <queue>
#define LL long long int
using namespace std; int main()
{
cin.sync_with_stdio(false);
int n,m,a,b;
while(cin>>n>>m>>a>>b)
{
string s[];
for(int i=;i<n;i++)
{
cin>>s[i];
}
for(int i=;i<n*a;i++)
{
for(int j=;j<m*b;j++)
{
int y=i/a;
int x=j/b;
cout<<s[y][x];
}
cout<<endl;
}
} return ;
}

1264

这题特点是区间端点不可多次选取,然后在此情况下求前k大的区间和(根据C做一下处理就好)

妈蛋XTUOJ把咱代码吞了,反正不长,再敲一遍。

#include <iostream>
#include <map>
#include <vector>
#include <algorithm>
#include <set>
#include <queue>
#define LL long long int
using namespace std;
LL n,m,c;
LL num[];
LL pre[];
int main()
{
cin.sync_with_stdio(false);
while(cin>>n>>m>>c)
{
for(int i=;i<n;i++)
{
cin>>num[i];
if(i==)
pre[i]=num[i];
else
pre[i]=pre[i-]+num[i];
}
pre[n]=;
sort(pre,pre+n+);
LL ans=;
for(int i=;i<=n&&i<m;i++)
{
LL l=i;
LL r=n-i;
if(l>r||pre[r]-pre[l]<c)
break;
ans+=pre[r]-pre[l]-c;
}
cout<<ans<<endl;
}
return ;
}

1267

题意简单来说就是一棵树根据两点之间的路径长度作为建边费用,求最大生成树。

感谢江理小伙伴提供思路,咱是死在赛场上都没想到用直径的特点。

首先已知树最长的边是其直径,前n-1长的边一定和直径的某个点相连。

证明:
设直径左右两点A B
任何点都直接间接连接至A,B
设一个中间点C在AB直径上,对于一个点D,如果它在直径上,则把C当作D,DC=,否则DC长度为DC本身
假设点D到E的距离大于到A的距离且大于到D的距离,有
DE>=AC+CD//假设
DE>=BC+CD
AB>=AC+CD+DE//AB直径
AB>=BC+CD+DE
==> AB*+DE*>=AB*+DE*+CD*
<==> >=CD*,若CD<0与事实相悖。
假设CD=,那么D可以当作在直径上
DE>=AC
==> DE>=AD
DE>=BC
==> DE>=BD
不妨设AD>=BD
有DE+AC>=BD+AD
==> AD>=AB,当且仅当AD是多条直径中的一条时成立有AD==AB成立,不然均与结论相悖。
证毕。

所以前n-1长的边就是直径加上剩余所有点到直径两端点距离最大值的和了。

#include <iostream>
#include <vector>
#include <algorithm>
#include <queue>
#define LL long long int
using namespace std;
struct node
{
LL p,d;
};
vector<node> g[]; LL n,a,b,c;
LL st,en;
bool vis[];
LL dis[];
node dfs(LL now,LL dis)
{
node rec;
rec.p=-;
if(vis[now])
{
return rec;
}
vis[now]=true; rec.p=now,rec.d=dis;
for(int i=;i<g[now].size();i++)
{ node px=dfs(g[now][i].p,dis+g[now][i].d); if(px.p==-) continue;
else
{
if(rec.p==-) rec=px;
else if(px.d>rec.d) rec=px;
}
}
return rec;
}
void bfs(LL fr)
{
queue<node> q;
q.push((node){fr,});
vis[fr]=true;
while(!q.empty())
{
node now=q.front();
q.pop();
if(now.d>dis[now.p])
dis[now.p]=now.d;
for(int i=;i<g[now.p].size();i++)
{
node nx=g[now.p][i];
if(vis[nx.p]==false)
{
q.push((node){nx.p,now.d+nx.d});
vis[nx.p]=true;
}
}
}
} int main()
{
cin.sync_with_stdio(false);
while(cin>>n)
{
for(int i=;i<=n;i++) g[i].clear();
for(int i=;i<n-;i++)
{ cin>>a>>b>>c;
g[a].push_back((node){b,c});
g[b].push_back((node){a,c});
} fill(vis,vis+n+,false);
st=dfs(,).p;
fill(vis,vis+n+,false);
en=dfs(st,).p;
fill(dis,dis+n+,);
fill(vis,vis+n+,false);
bfs(st);
fill(vis,vis+n+,false);
bfs(en);
LL ans=;
for(int i=;i<=n;i++)
{
if(i==st) continue;
ans+=dis[i];
}
cout<<ans<<endl;
} return ;
}

1268

水题

#include <iostream>
#include <vector>
#include <algorithm>
#include <queue>
#define LL long long int
using namespace std; int main()
{
cin.sync_with_stdio(false);
LL a,b;
while(cin>>a>>b)
{
LL x=__gcd(a,b);
if(x==) x=min(a,b);
LL y=*a*b;
LL fix=__gcd(x,y);
x/=fix,y/=fix;
cout<<x<<'/'<<y<<endl;
} return ;
}

CCPC2017湘潭 1263 1264 1267 1268的更多相关文章

  1. Bzoj索引

    1001 : http://ideone.com/4omPYJ1002 : http://ideone.com/BZr9KF1003 : http://ideone.com/48NJNh1004 : ...

  2. Hsql中In没有1000的限制

    SELECT * FROM user , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ...

  3. C++版-剑指offer 面试题6:重建二叉树(Leetcode105. Construct Binary Tree from Preorder and Inorder Traversal) 解题报告

    剑指offer 重建二叉树 提交网址: http://www.nowcoder.com/practice/8a19cbe657394eeaac2f6ea9b0f6fcf6?tpId=13&tq ...

  4. 何为编码 GBK 和 UTF8编码?GBK,GB2312与区位码有何关系?

    何为GBK,何为GB2312,与区位码有何渊源? 区位码是早些年(1980)中国制定的一个编码标准,如果有玩过小霸王学习机的话,应该会记得有个叫做“区位”的输入法(没记错的话是按F4选择).就是打四个 ...

  5. Linux那些事儿之我是Hub(大结局)挂起自动化【转】

    转自:http://blog.csdn.net/fudan_abc/article/details/1805471 目睹了当今大学校园的素质流氓化,kiss公开化,消费白领化,上课梦游化,逃课普遍化, ...

  6. MVC图片上传详解 IIS (安装SSL证书后) 实现 HTTP 自动跳转到 HTTPS C#中Enum用法小结 表达式目录树 “村长”教你测试用例 引用provinces.js的三级联动

    MVC图片上传详解   MVC图片上传--控制器方法 新建一个控制器命名为File,定义一个Img方法 [HttpPost]public ActionResult Img(HttpPostedFile ...

  7. jqu

    1 /*2 * 说明:3 * 本源代码的中文注释乃Auscarlin呕心沥血所作.旨在促进jQuery的传播以及向广大jQuery爱好者提供一个进阶4 *的途径,以让各位更加深入地了解jQuery,学 ...

  8. CPictureEx类

    CPictueEx类不仅可以显示GIF(包括GIF动画),还可以显示JPEG.BMP.WMF.ICO.CUR等. 参考:https://www.codeproject.com/Articles/142 ...

  9. Redis 工具类 java 实现的redis 工具类

    最近了解了一下非关系型数据库 redis 会使用简单的命令 在自己本地电脑 使用时必须先启动服务器端 在启动客户端 redis 简介 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内 ...

随机推荐

  1. Mac 配置教程-日常篇

    今年终于在推出 2018 款 MBP 时,看到升级了 CPU,我就果断下手「拔草」.本文记录使用 Mac 的一些配置,会长期更新. 为了控制文章的篇幅,我将 Mac 使用配置分成了两篇: Mac 配置 ...

  2. thinkphp如何省略index.php

    省略index.php叫做 伪静态化; 共有四个步骤: MariaDB[(none)]: 表示, 目前没有选择/使用 任何数据库. 如果use了数据库, 会提示: MariaDB[mysql]... ...

  3. 数论+矩阵快速幂|斐波那契|2014年蓝桥杯A组9-fishers

    标题:斐波那契 斐波那契数列大家都非常熟悉.它的定义是: f(x) = 1 .... (x=1,2) f(x) = f(x-1) + f(x-2) .... (x>2) 对于给定的整数 n 和 ...

  4. BZOJ5479: tree

    Description 给出一棵树,根节点为1 给出两个集合,集合由树上节点组成 从两个集合分别选出一个元素,求其LCA 问LCA的最大深度是多少 Input 第一行给出数据组数T 对于每组数据 第一 ...

  5. p3396 哈希冲突(暴力)

    想了好久,没想到优秀的解法,结果是个暴力大吃一静.jpg 分类讨论,预处理\(p\le \sqrt{n}\) 的情况,其他直接暴力,复杂度\(O(n \sqrt{n} )\) #include < ...

  6. Vue属性中带’-‘的处理方式

    我们在写属性时经常会加入’-‘来进行分词,比如:<panda from-here=”China”></panda>,那这时我们在props里如果写成props:[‘form-h ...

  7. MySQL GROUP BY语句

    GROUP BY 语句根据一个或多个列对结果集进行分组 在分组的列上我们可以使用COUNT.SUM.AVG等函数 SELECT column_name,function(column_name) FR ...

  8. 【Python】【有趣的模块】【requests】【一】HTTP头信息总结

    [HTTP请求 == 请求行 + 消息报头 + 请求正文 ] 请求行:Method Request-URL HTTP-Version CRLF HTTP协议定义了许多与服务器交互的方法 ① PUT:请 ...

  9. CSS垂直居中查询宝典

    一.垂直居中的用处 设计稿需求 当我们抱怨设计反复不定的时候,试着理解一下.每一位开发者也会是一位用户,请多多用'用户'的角色去开发.就比如下面这图,你会更稀饭哪种格式呢? 如果我们使用一个webap ...

  10. Redis 图形化监控方案 RedisLive

    一款开源的 Redis 图形化监控工具,界面如图所示 安装 首先安装python2 一般情况下系统自带 然后安装pip2 https://www.cnblogs.com/sea-stream/p/10 ...