河南省第六届ACM程序设计大赛
C: 最舒适的路线 (并查集)
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
#define INF 20000000 struct point
{
int x, y, v;
}; point node[];
int fa[]; bool cmp(point a, point b)
{
return a.v < b.v;//边从小到大
}
int find(int n)
{
return n == fa[n] ? n : fa[n] = find(fa[n]);
}
int gcd(int a, int b)
{
return b ? gcd(b, a%b) : a;
}
int main()
{
int i, j, t, e;
int start, end, row, edge, maxv, minv;
double radio;
cin>>t;
while(t--)
{
cin>>row>>edge;
for(i = ; i <= edge; i++)
{
cin>>node[i].x>>node[i].y>>node[i].v;
}
cin>>start>>end;
sort(node + , node+edge + , cmp);
radio = INF;
for(e = edge; e > ; e--) //从最大的边开始,将比它小的边加入
{
for(i =; i <= row; i++)
fa[i] = i;
for(i = e; i > ; i--)
{
int a = find(node[i].x);
int b = find(node[i].y);
if(a == b)
continue;
else
fa[a] = b;
if(find(start) == find(end))
break;//起点和终点在都一个集合里
}
if(i == )
break;//如果把边都加进去完了,说明起点和终点不连通
if(node[e].v/(node[i].v*1.0) < radio)
{
radio = node[e].v / (node[i].v * 1.0);
maxv = node[e].v;
minv = node[i].v;
}
}
int g = gcd(maxv, minv);
if(radio == INF)
printf("IMPOSSIBLE\n");
else if(maxv % minv == )
printf("%d\n", maxv / minv);
else
printf("%d/%d\n", maxv/g, minv/g);
}
return ;
}
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
using namespace std;
typedef unsigned long long LL; #define N 110
#define met(a,b) (memset(a,b,sizeof(a)))
#define max4(a,b,c,d) (max(max(a,b),max(c,d))) int a[N][N], dp[N*][N][N]; int main()
{
int n, m, T; scanf("%d", &T); while(T--)
{
int i, j, k; met(a, );
met(dp, ); scanf("%d%d", &n, &m); for(i=; i<=n; i++)
for(j=; j<=m; j++)
scanf("%d", &a[i][j]); dp[][][] = a[][];
for(k=; k<=n+m-; k++)
{
for(i=; i<=n; i++) ///i 代表第一个人所在的行
for(j=; j<=n; j++) ///j 代表第二个人所在的行
{
dp[k][i][j] = max4(dp[k-][i][j], dp[k-][i][j-], dp[k-][i-][j], dp[k-][i-][j-]);
if(i!=j)
dp[k][i][j] += a[i][k+-i] + a[j][k+-j];
else
dp[k][i][j] += a[i][k+-i];
}
} printf("%d\n", dp[n+m-][n][n]);
}
return ;
}
G:Adjacent Bit Counts (递推)
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
using namespace std;
typedef unsigned long long LL; #define N 110
#define met(a,b) (memset(a,b,sizeof(a)))
#define max4(a,b,c,d) (max(max(a,b),max(c,d))) LL dp[N][N][]; ///dp[i][j][0] i位数,fun[i]为j的最后一位为0
///dp[i][j][1] i位数,fun[i]为j的最后一位为1
///dp[i][j][1] dp[i][j][0]与dp[i][j][1]之和 int main()
{
int T, i, j; dp[][][] = dp[][][] = ;
dp[][][] = dp[][][] = ;
dp[][][] = ; for(i=; i<N; i++)
{
for(j=; j<i; j++)
{
dp[i][j][] = dp[i-][j][];
dp[i][j][] = dp[i-][j][];
if(j>=) dp[i][j][] += dp[i-][j-][];
dp[i][j][] = dp[i][j][] + dp[i][j][];
}
} scanf("%d", &T); while(T--)
{
int n, m; scanf("%d%d", &n, &m); printf("%lld\n", dp[n][m][]);
}
return ;
}
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
using namespace std;
typedef unsigned long long LL;
#define INF 0x3f3f3f3f
#define N 1100
#define met(a,b) (memset(a,b,sizeof(a)))
#define max4(a,b,c,d) (max(max(a,b),max(c,d))) int a[N], dp[N];
///dp[i]代表i个羊一起过河需要花费的最短时间 int main()
{
int T;
scanf("%d", &T);
while(T--)
{
int n, m, i, j; scanf("%d%d", &n, &m); for(i=; i<=n; i++)
scanf("%d", &a[i]); dp[] = a[] + m;
for(i=; i<=n; i++)
dp[i] = dp[i-]+a[i]; dp[] = ;
for(i=; i<=n; i++)
{
for(j=i; j<=n; j++)
{
dp[j] = min(dp[j], dp[j-i]+dp[i]+m);
}
} printf("%d\n", dp[n]);
}
return ;
}
河南省第六届ACM程序设计大赛的更多相关文章
- 河南省第七届ACM程序设计大赛赛后总结
我们学校ACM集训开始于4月5号(清明节),5月25日在郑州解放军信息工程大学举办,集训耗时50天,但是感觉效果还行,但是也不是太好:我们也已经尽力了,虽然说只拿了个银牌,每份收获的背后,都会有辛勤的 ...
- 河南省第七届ACM程序设计大赛总结
省赛总结 首先说说比赛时的情况吧,刚开始的时候我的任务就是翻译英文题目,找出比较水的题目,他们两个直接找中文水题切,其实每次比赛我们都是这样配合的,由于他们的判题系统一开始存在问题,交的正确的代码给判 ...
- 湖南省第六届大学生程序设计大赛原题 F Biggest Number (UVA1182)
Biggest Number http://acm.hust.edu.cn/vjudge/contest/view.action?cid=30851#problem/F 解题思路:DFS(检索)+BF ...
- 福建工程学院第十四届ACM程序设计大赛 - E - 外传:小晋逃生记
http://www.fjutacm.com/Contest.jsp?cid=705#P4 其实想清楚了就很简单,之前想了很多种方法,以为是二分什么的,看起来就像是一个单峰函数.但是发现直接暴力一波就 ...
- 2014嘉杰信息杯ACM/ICPC湖南程序设计邀请赛暨第六届湘潭市程序设计竞赛
比赛链接: http://202.197.224.59/OnlineJudge2/index.php/Contest/problems/contest_id/36 题目来源: 2014嘉杰信息杯ACM ...
- 第13届 广东工业大学ACM程序设计大赛 C题 平分游戏
第13届 广东工业大学ACM程序设计大赛 C题 平分游戏 题目描述 转眼间又过了一年,又有一届的师兄师姐要毕业了. 有些师兄师姐就去了景驰科技实习. 在景驰,员工是他们最宝贵的财富.只有把每一个人 ...
- 西南科技大学第十一届ACM程序设计大赛发言稿
西南科技大学第十一届ACM程序设计大赛发言稿 各位老师.志愿者及参赛选手: 大家好,我是来自计科学院卓软1301的哈特13,很荣幸今天能站在这里代表参赛选手发言. 回想起来,我参加ACM比赛已经快两年 ...
- nyoj 1238 最少换乘 (河南省第八届acm程序设计大赛)
题目1238 题目信息 执行结果 本题排行 pid=1238" style="text-decoration:none; color:rgb(55,119,188)"&g ...
- nyoj 1239 引水project (河南省第八届acm程序设计大赛)
题目1239 pid=1239" style="color:rgb(55,119,188)">题目信息 pid=1239" style="col ...
随机推荐
- WWDC2014之iOS使用动态库 framework【转】
from:http://www.cocoachina.com/industry/20140613/8810.html JUN 12TH, 2014 苹果的开放态度 WWDC2014上发布的Xcode6 ...
- SQL注入原理
随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多.但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一 部分程序员在编写代码的时候,没有对用户输入数据的合法性 ...
- IE请求访问的设置
1:问题 目前有个项目采用AngularJs发送Restful风格的请求的方式来实现前后端的通信,测试人员在使用IE浏览器进行测试的时候发现,有时候请求发送不到后台,后来经查找发现是由于IE浏览器的默 ...
- 百度地图API示例之添加定位相关控件
代码 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" cont ...
- IO同步、异步与阻塞、非阻塞
一.同步与异步同步/异步, 它们是消息的通知机制 1. 概念解释A. 同步所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回. 按照这个定义,其实绝大多数函数都是同步调用(例如si ...
- 2016/12/14---- C3P0
查询查询一条记录 public UserBean findActiver(String ac) throws SQLException { QueryRunner qr = new QueryRunn ...
- 【Python】 sorted函数
我们需要对List.Dict进行排序,Python提供了两个方法对给定的List L进行排序,方法1.用List的成员函数sort进行排序,在本地进行排序,不返回副本方法2.用built-in函数so ...
- GBDT基本理论及利用GBDT组合特征的具体方法(收集的资料)
最近两天在学习GBDT,看了一些资料,了解到GBDT由很多回归树构成,每一棵新回归树都是建立在上一棵回归树的损失函数梯度降低的方向. 以下为自己的理解,以及收集到的觉着特别好的学习资料. 1.GBDT ...
- “VS2013无法连接远程数据库”解决方案
“VS2013无法连接远程数据库” 解决方案:以管理员身份登录CMD,输入netsh winsock reset并回车(注意,必须是已管理员身份运行,这个重置LSP连接) 或 netsh winsoc ...
- 8.1H5学习笔记
内嵌框架 说明: 属性 属性值 说明 width px,% 指定框架的宽度 height px,% 指定框架的高度 scrolling yes,no,auto 是否显示滚动条 frameborder ...