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 简单博弈,先假设在警察先走 ...
随机推荐
- Runtime -----那些被忽略的技能
有人说现在的程序员都被惯坏了,尤其使用一些面向对象的语言开发的时候,只是简单的调用一些系统封装好的接口或者是调用一些“便利的”第三方,对于一个程序的真正实现有了解吗???又有多少了解呢 ...
- Tomcat一些小事
1.编码问题 1.1.乱码 客户端发请GET请求,如果这个请求地址上有中文,而且也没有进行encode的时候,后端就可能接收到乱码. --解决办法 在tomcat , conf/server.xml ...
- ASP.NET MVC:窗体身份验证及角色权限管理示例
ASP.NET MVC 建立 ASP.NET 基础之上,很多 ASP.NET 的特性(如窗体身份验证.成员资格)在 MVC 中可以直接使用.本文旨在提供可参考的代码,不会涉及这方面太多理论的知识. 本 ...
- ruby 操作数据库语句
1.多对多 user role u = User.first role = Role.first 插入 u.roles << role u.save 更新 u.roles = [] u.r ...
- javascript中静态方法、实例方法、内部方法和原型的一点见解
1.静态方法的定义 var BaseClass = function() {}; // var BaseClass=new Function(); BaseClass.f1 = function(){ ...
- 【DNN】C#中类的一些特性标注
[AttributeUsage] 其实AttributeUsage类就是描述了一个定制特性如和被使用. C# AttributeUsage的使用要明白: AttributeUsage有三个属性,我们可 ...
- C++指针笔记
什么是指针: 指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址.通过指针我们可以直接对内存进行操作. 什么是地址: 比如你要给你朋友寄快递,在寄东西的时候是不是要填写地址,通过地址你的 ...
- 参加2013中国大数据技术大会(BDTC2013)
2013年12月5日-6日参加了为期两天的2013中国大数据技术大会(Big Data Technology Conference, BDTC2013),本期会议主题是:“应用驱动的架构与技术 ”.大 ...
- iptables基本操作
一.基本操作 #启动防火墙 service iptables start #停止防火墙 service iptables stop #重启防火墙 service iptables restart #查 ...
- iOS设计模式之观察者模式
观察者模式 基本理解 观察者模式又叫做发布-订阅(Publish/Subscribe)模式. 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象.这个主题对象在状态发生变化时 ...