2014 UESTC 暑前集训队内赛(3) 部分解题报告
B.Battle for Silver
定理:完全图Kn是平面图当且仅当顶点数n<=4.
枚举所有完全图K1,K2,K3,K4,找出最大总权重。
代码:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;
#define N 100000000 int mp[][];
int w[]; int main()
{
int n,m;
int i,j,k,h;
int x,y;
while(scanf("%d%d",&n,&m)!=EOF)
{
memset(mp,,sizeof(mp));
int maxi = ;
for(i=;i<=n;i++)
{
scanf("%d",&w[i]);
maxi = max(maxi,w[i]);
}
for(i=;i<=m;i++)
{
scanf("%d%d",&x,&y);
mp[x][y] = mp[y][x] = ;
maxi = max(maxi,w[x]+w[y]);
}
for(i=;i<=n;i++)
{
for(j=;j<i;j++)
{
for(k=;k<j;k++)
{
if(mp[i][j] && mp[i][k] && mp[j][k])
{
maxi = max(maxi,w[i] + w[j] + w[k]);
}
else
continue;
for(h=;h<k;h++)
{
if(mp[h][i] && mp[h][j] && mp[h][k])
maxi = max(maxi,w[i]+w[j]+w[k]+w[h]);
}
}
}
}
printf("%d\n",maxi);
}
return ;
}
F.First Date
日历题。两个日历有一个初始的对应关系,然后根据这个信息递推,因为闰年计算方式的不同,来得出新的对应关系,暴力枚举1582-10-04(Julian)~9999-12-31(Gregorian)为止,做一个哈希关系存储,最多为(10000-1582)*12*31,约为3131496,不会爆内存。
代码:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;
#define N 100000000 struct node
{
int y,m,d;
node(int Y,int M,int D)
{
y = Y;
m = M;
d = D;
}
node(){}
}; int mp[]; int HS(node ka)
{
int res = (ka.y*+ka.m-)*+ka.d-;
return res;
} int JuLeap(int Y)
{
if(Y% == )
return ;
return ;
} int GreLeap(int Y)
{
if((Y% == && Y% != ) || (Y% == ))
return ;
return ;
} int month_day(int Y,int M,int flag)
{
if(M == || M == || M == || M == )
return ;
else if(M != )
return ;
else if(flag)
{
if(JuLeap(Y))
return ;
else
return ;
}
else if(!flag)
{
if(GreLeap(Y))
return ;
else
return ;
}
} node add(node ka,int flag)
{
node kb = ka;
if(ka.d+ > month_day(ka.y,ka.m,flag))
{
if(ka.m+ > )
{
kb.y = ka.y+;
kb.m = ;
kb.d = ;
}
else
{
kb.m = ka.m+;
kb.d = ;
}
}
else
kb.d = ka.d + ;
return kb;
} void DOIT()
{
node ka = node(,,);
node kb = node(,,);
mp[HS(ka)] = HS(kb);
int y,m,d;
while(kb.y <= )
{
ka = add(ka,);
kb = add(kb,);
mp[HS(ka)] = HS(kb);
}
} int main()
{
int Y,M,D;
DOIT();
while(scanf("%d-%d-%d",&Y,&M,&D)!=EOF)
{
node S = node(Y,M,D);
int E = mp[HS(S)];
int day = E%+;
E/=;
int month = E%+;
E/=;
int year = E;
printf("%04d-%02d-%02d\n",year,month,day);
}
return ;
}
G.Grachten
超级大水题。不说了。
(没做出来的以后持续更新)
2014 UESTC 暑前集训队内赛(3) 部分解题报告的更多相关文章
- 2014 UESTC 暑前集训队内赛(2) 部分解题报告
B.Cuckoo for Hashing 模拟题. 代码: #include <iostream> #include <cstdio> #include <cstring ...
- 2014 UESTC 暑前集训队内赛(1) 解题报告
A.Planting Trees 排序+模拟 常识问题,将耗时排一个序,时间长的先种,每次判断更新最后一天的时间. 代码: #include <iostream> #include < ...
- 2014 UESTC暑前集训数据结构专题解题报告
A.Islands 这种联通块的问题一看就知道是并查集的思想. 做法:从高水位到低水位依序进行操作,这样每次都有新的块浮出水面,可以在前面的基础上进行合并集合的操作.给每个位置分配一个数字,方便合并集 ...
- 2014 UESTC暑前集训搜索专题解题报告
A.解救小Q BFS.每次到达一个状态时看是否是在传送阵的一点上,是则传送到另一点即可. 代码: #include <iostream> #include <cstdio> # ...
- 2014 UESTC暑前集训动态规划专题解题报告
A.爱管闲事 http://www.cnblogs.com/whatbeg/p/3762733.html B.轻音乐同好会 C.温泉旅馆 http://www.cnblogs.com/whatbeg/ ...
- 2014 UESTC暑前集训图论专题解题报告
A.方老师和缘分 http://www.cnblogs.com/whatbeg/p/3765621.html B.方老师和农场 http://www.cnblogs.com/whatbeg/p/376 ...
- 模拟赛T2 交换 解题报告
模拟赛T2 交换 解题报告 题目大意: 给定一个序列和若干个区间,每次从区间中选择两个数修改使字典序最小. \(n,m\) 同阶 \(10^6\) 2.1 算法 1 按照题意模拟,枚举交换位置并比较. ...
- nowcoder(牛客网)提高组模拟赛第一场 解题报告
T1 中位数(二分) 这个题是一个二分(听说是上周atcoder beginner contest的D题???) 我们可以开一个数组b存a,sort然后二分b进行check(从后往前直接遍历check ...
- UESTC-第五届ACM趣味程序设计竞赛第四场(正式赛)--不完全解题报告
比赛链接: http://acm.uestc.edu.cn/contest.php?cid=230 A.Police And The Thief ---UESTC 1913 简单博弈,先假设在警察先走 ...
随机推荐
- Laravel 5如何在中间件中获取路由参数?
以官方文档中间件篇的年龄为例子进行了修改 路由部分 Route::get('test/age/{age}',[ 'middleware' => 'old', 'uses'=>'Test@t ...
- 【iOS】Quartz2D图形上下文
一.绘图的完整过程 程序启动,显示自定义的view.当程序第一次显示在我们眼前的时候,程序会调用drawRect:方法,在里面获取了图形上下文(在内存中拥有了),然后利用图形上下文保存绘图信息,可 ...
- 解决SlidingMenu和SwipeBackLayout右滑事件冲突问题
SwipeBackLayout向右滑动关闭当前Activity,SlidingMenu向右滑动则是打开menu部分.在同一个Activity中,当SlidingMenu处于打开状态时,此时向右滑动,事 ...
- sublimeCodeIntel 的配置
在项目的根目录目录下建立.codeintel/config 但是在windows 需要进入dos 环境下建立.以点开头的文件夹和文件.资源管理器不允许创建点开头的文件或文件夹,但在命令提示符下是可以的 ...
- django 中间件
django处理一个Request的过程是首先通过django 中间件,然后再通过默认的URL方式进行的.所以说我们要做的就是在django 中间件这个地方把所有Request拦截住,用我们自己的方式 ...
- js一些小题(二)
******************************************************************* 一个全局下的函数: function test() { aler ...
- 调用存储过程从EntityFramework
Prerequisites The prerequisite for running these examples are the following sample tables with test ...
- Android项目实战(六):JazzyGridView和JazzyListView的使用
GridView和ListView控件划动的动画效果 ------------------------------------------------------------------------- ...
- IOS 杂笔-18 (let 与 var)
var 是 variable的缩写形式,是变量的意思 ,是可改变的,并不是数据类型. let 是常量的意思,不可改变的.
- Sencha Cmd是什么
Sencha Cmd的简介 ~~~~~~~~~~~~~~~~~~~~~~~ Sencha cmd 是一个跨平台的命令行工具,它从你应用程序的新创建到部署入产品中的整个生命周期都提供了许多自动化的执行任 ...