CCPC2016合肥现场赛
A(hdu5961):(BFS)
题意:给两个有向图=P=(V,EP)和Q=(V,EQ), 满足1.EP与EQ没有交;2、EP∪EQ是竞赛图。判断P与Q是否同时为传递的。一个有向图G是传递的,当且仅当对任意三个不同的顶点a,b,c,若有一条边从a到b且有一条边从b到c,则同样有一条边从a到c。
分析:首先的想法是从所有入度为0的点开始BFS,如果有某个点第一次被更新的时间>=2就肯定不行,然而就发现反例了,后来一想,从每个点开始BFS判断就行了
C(hdu5963):(博弈论)
题意:给一棵n个节点的树,边有权,为0或1。在树上进行游戏,游戏开始时会确定一个节点为根,两人交替进行操作。一方操作时,选一个非根节点u满足u和其父亲之间的边权为1,然后把u到根路径上所有边权翻转。一方无法操作时,另一方胜利。有m次修改:0 x询问以x为根开始游戏谁会赢;1 x y z将x和y之间的边权改为z。
分析:对于每个询问的root,我们看它的儿子,如果有一个儿子到root的权值为1,那么先手可以把它翻转,那么后手如果在子树里选,那么这个边肯定要重新被翻转为1,那么先手就一直处于不败。综合考虑所有的root的儿子,也就是看看权值为1的边有多少个,如果有奇数个那么就说明先手必胜,否则后手必胜。
D(hdu5964):(解析几何)
题意:给定两条定直线和一个点集,在两条定直线上各取一个点,点集中取两个点,一共四个点,需要它们构成平行四边形,问构成平行四边形最大面积为多大(点数<=1e6)
分析:枚举点集中的两个点,那么中点就定下来了,那么直线上的两点也就固定下来了,面积也就固定了,写出表达式发现结果为(f(i)-f(j))/C,所以只要O(n)扫描出f()的最大值和最小值就行了。
E(hdu5965):(递推)
题意:三行n列的扫雷,第二行全是数字,第一行第二行全是雷区。问有多少种填的方案。
分析:dp[i][0/1/2][j]表示当前第i列,第i列填的雷数为0/1/2个,第i列和第i-1列总雷数位j个的方案数,递推一下就行。注意dp[i][1][j]的结果要乘2,因为雷可以放第一行也可以放第三行。
H(hdu5968):(预处理+二分)
题意:给一个长度n的非负整数序列ai,有m个询问,每次询问xi,问a的所有连续子序列的异或和中,与xi之差的绝对值最小的子序列的长度。若有多个输出最长的。n,m≤100
分析:预处理出所有的连续异或和,对于每个询问二分查找。
I(hdu5969):(贪心)
题意:给定两个自然数l和r,选两个数x,y满足l≤x≤y≤r 且x∣y最大。输出这个最大值。
分析:从最高位开始找,直到找到第一个位置r=1,l=0,那么l后面位置就可以全部为1,再计算l和r的或值即可
J(hdu5970):(数学)
题意:求题目中所给公式的值。
分析:先尝试想想求gcd的步数有什么特殊意义,后来发现并没有。注意到j很小,所以想到枚举j,观察i的规律。
发现模j余数相同的i对应的分母的值是相同的,而分子正好是等差数列。
但是题目中又套上了个向下取整数,这就不好办了。
看了别人的题解才发现对于余数相同的一列数,可以找到一个整数t,使得t*j*j是分母的倍数,即增量是整数。
也就是说只需要枚举0~t-1,后面的仍旧是等差数列。
贴波代码:
long long ans=;
scanf("%lld %lld %lld",&n,&m,&p);
for(int j=;j<=m;++j)
for(int i=;i<=j-;++i)
{
int step=,d;
gcd(i,j,d,step);
long long q=d*d*step;
long long t=((long long)step)/ggcd(j/d*j/d,step);
long long dd=(t*j*j/q)%p;
for(int k=;k<t;++k)
{
long long a0=((k*j*j+i*j)/q)%p;
if((n-i)/j-k<) break;
long long len=((n-i)/j-k)/t+;
ans=(ans+(len*a0)%p+(((len*(len-)/(long long))%p)*dd)%p)%p;
}
}
printf("%lld\n",ans);
CCPC2016合肥现场赛的更多相关文章
- CCPC2016杭州现场赛
A(hdu5933):(贪心) 题意:长度为n的数组: a1, a2,⋯, 每次操作要么可以merge两个相邻的数为一个, 值为两个数的和; 要么可以把一个数分裂成两个, 两个数的和为原数. 用最少的 ...
- HDU 5552 Bus Routes(2015合肥现场赛A,计数,分治NTT)
题意 给定n个点,任意两点之间可以不连边也可以连边.如果连边的话可以染上m种颜色. 求最后形成的图,是一个带环连通图的方案数. 首先答案是n个点的图减去n个点能形成的树. n个点能形成的树的方案数比 ...
- HDU5558 Alice's Classified Message(合肥区域赛 后缀数组)
当初合肥区域赛的题(现场赛改了数据范围就暴力过了),可惜当初后缀数组算法的名字都没听过,现在重做下. i从1到n - 1,每次枚举rank[i]附近的排名,并记录当起点小于i时的LCP(rank[i] ...
- 2013ACM/ICPC亚洲区南京站现场赛---Poor Warehouse Keeper(贪心)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=4803 Problem Description Jenny is a warehouse keeper. ...
- HDU 5920 Ugly Problem 高精度减法大模拟 ---2016CCPC长春区域现场赛
题目链接 题意:给定一个很大的数,把他们分为数个回文数的和,分的个数不超过50个,输出个数并输出每个数,special judge. 题解:现场赛的时候很快想出来了思路,把这个数从中间分为两部分,当位 ...
- 2013杭州现场赛B题-Rabbit Kingdom
杭州现场赛的题.BFS+DFS #include <iostream> #include<cstdio> #include<cstring> #define inf ...
- 2011 ACM/ICPC 成都赛区(为2013/10/20成都现场赛Fighting)
hdu 4111 Alice and Bob 博弈:http://www.cnblogs.com/XDJjy/p/3350014.html hdu 4112 Break the Chocolate ...
- 2014 ACM/ICPC 鞍山赛区现场赛 D&I 解题报告
鞍山现场赛结束了呢-- 我们出的是D+E+I三道题-- 吾辈AC掉的是D和I两道,趁着还记得.先在这里写一写我写的两道水题D&I的解题报告吧^_^. D题的意思呢是说星云内有一堆排成一条直线的 ...
- HDU 4800/zoj 3735 Josephina and RPG 2013 长沙现场赛J题
第一年参加现场赛,比赛的时候就A了这一道,基本全场都A的签到题竟然A不出来,结果题目重现的时候1A,好受打击 ORZ..... 题目链接:http://acm.hdu.edu.cn/showprobl ...
随机推荐
- First,FirstOrDefault,Single,SingleOrDefault的区别
操作符 如果源序列是空的 源序列只包含一个元素 源序列包含多个元素 First 抛异常 返回该元素 返回第一个元素 FirstOrDefault 返回default(TSource) 返回该元素 返回 ...
- JAVA 设计模式 桥接模式
用途 桥接模式 (Bridge) 将抽象部分与实现部分分离,使它们都可以独立的变化. 桥接模式是一种结构式模式. 结构
- statusbarhidden stuff 状态栏的各种特性
plist 文件中的View controller-based status bar appearance 设置的是 在viewcontroller 中 对状态栏进行修改是否起作用. 设置状态栏隐藏和 ...
- iOS开发-UI 从入门到精通(二)
iOS开发-UI 从入门到精通(二)是对 iOS开发-UI 从入门到精通(一)知识点的巩固,主要以习题练习为主,增强实战经验,为以后做开发打下坚实的基础! ※开发环境和注意事项: 1.前期iOS-UI ...
- [Objective-C]关联(objc_setAssociatedObject、objc_getAssociatedObject、objc_removeAssociatedObjects)
关联 关联是指把两个对象相互关联起来,使得其中的一个对象作为另外一个对象的一部分. 关联特性只有在Mac OS X V10.6以及以后的版本上才是可用的. 在类的定义之外为类增加额外的存储空间 ...
- 通用的Dialog自定义dialog
图样:
- Ajax中Get请求与Post请求的区别
Get请求和Post请求的区别 1.使用Get请求时,参数在URL中显示,而使用Post方式,则不会显示出来 2.使用Get请求发送数据量小,Post请求发送数据量大 例子 页面的HTML代码: &l ...
- CentOS 6.5 安装 MySQL5.6 并用Navicat for MySQL 连接
环境 : MySQL 5.6.21 64位 CentOS 6.5 64位 VMware 10 Navicat for MySQL 11 1.卸载自带mysql [root@localhost ~]# ...
- 深度解析mysql登录原理
使用mysql数据库的第一步必然是建立连接登录,然后在上面执行SQL命令.无论是通过mysql的客户端,还是通过C-API,JDBC标准接口连接数据库,这个过程一定少不了.今天我们聊一聊mysql登陆 ...
- window.frameElement的使用
window.frameElement的使用: 返回嵌入当前window对象的元素(比如 <iframe> 或者 <object>),如果当前window对象已经是顶层窗口,则 ...