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 简单博弈,先假设在警察先走 ...
随机推荐
- jQuery owlcarousel 旋转木马
owlcarousel是一款猫头鹰旋转木马插件.OwlCarousel优势兼容所有浏览器支持响应式支持 CSS3 过度支持触摸事件支持 JSON 及自定义 JSON 格式支持进度条支持自定义事件支持延 ...
- nodejs连接mysql并进行简单的增删查改
最近在入门nodejs,正好学习到了如何使用nodejs进行数据库的连接,觉得比较重要,便写一下随笔,简单地记录一下 使用在安装好node之后,我们可以使用npm命令,在项目的根目录,安装nodejs ...
- angularJS中的$apply(),$digest(),$watch()
$apply()和$digest()在AngularJS中是两个核心概念,但是有时候它们又让人困惑.而为了了解AngularJS的工作方式,首先需要了解$apply()和$digest()是如何工作的 ...
- jquery动态创建节点
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Spark调优
因为Spark是内存当中的计算框架,集群中的任何资源都会让它处于瓶颈,CPU.内存.网络带宽.通常,内存足够的情况之下,网络带宽是瓶颈,这时我们就需要进行一些调优,比如用一种序列化的方式来存储RDD来 ...
- 分享git的常用命令
Git操作笔记 1.创建目录 $ mkdir learngit $ cd learngit 2.把新建的目录变成仓库 $ git ...
- mysql远程链接 方法和flush-hosts
有时候会发现要用远程链接mysql 1 先要在mysql的host的机器上修改mysql表,最快就是复制一下本地localhost,现在phpmyadmin复制功能什么的很好用,然后把host列中的l ...
- crontab 例行性排程
那么我们就来聊一聊 crontab 的语法吧![root@www ~]# crontab [-u username] [-l|-e|-r]选项不参数:-u :只有 root 才能迚行这个仸务,亦即帮其 ...
- android中实现view可以滑动的六种方法
在android开发中,经常会遇到一个view需要它能够支持滑动的需求.今天就来总结实现其滑动的六种方法.其实每一种方法的 思路都是一样的,即:监听手势触摸的坐标来实现view坐标的变化,从而实现vi ...
- http://runjs.cn/
http://runjs.cn/ RunJS - 在线编辑.展示.分享.交流你的 JavaScript 代码