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. CSS的再一次深入(更新中···)

    全面我们学了6个选择器,今天再来学习两个选择器,分别是通配符选择器和并集选择器: 1.通配符选择器: *{ } 表示body里所有的标签都被选中 2.并集选择器: 选中的标签之间用逗号隔开,表示这几个 ...

  2. Python3基础 list reverse 反转列表

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  3. POJ 2594 Treasure Exploration(最小可相交路径覆盖)题解

    题意:有n个点,m条单向边,每个机器人能沿着单向边走,能重复经过一个点,问最少几个机器人走遍n个点 思路:原来以前学的都是不能相交的算法....可相交的做法是跑Floyd把能到达的都加上边,然后跑最小 ...

  4. Match function in R

    Examples:     print(match(5, c(1,2,9,5,3,6,7,4,5)))[1] 4     5 %in% c(1,2,9,5,3,6,7,4,5)[1] TRUE    ...

  5. SQL 检查 Varchar 是否能转换为 NUMERIC

    https://bbs.csdn.net/topics/390480323 ISNUMERIC(size_long)=1 (IIF( ISNUMERIC(size_long)=1 AND ISNUME ...

  6. P3041 [USACO12JAN]视频游戏的连击Video Game Combos

    思路 简单的AC自动机上dp,暴力跳fail向子节点直接转移即可 代码 #include <cstdio> #include <algorithm> #include < ...

  7. (转)Understanding, generalisation, and transfer learning in deep neural networks

    Understanding, generalisation, and transfer learning in deep neural networks FEBRUARY 27, 2017   Thi ...

  8. (转)Is attacking machine learning easier than defending it?

    转自:http://www.cleverhans.io/security/privacy/ml/2017/02/15/why-attacking-machine-learning-is-easier- ...

  9. System.ServiceProcess与System.Configuration.Install命名空间的介绍

    System.ServiceProcess 命名空间提供用于实现.安装和控制 Windows 服务应用程序的类.服务是长期运行的可执行文件,其运行没有用户界面 System.ServiceProces ...

  10. Android四种布局方式

    线性布局 <LinearLayout android:layout_width="match_parent" android:layout_height="wrap ...