ZQY 2016.06 刷题记录
2016-06-27 02:43
197 查看
ZQY 2016.06 刷题记录
51nod 1070
博弈题,通过打表可以发现当n为斐波那契数列时B获胜,否则A获胜。算出1到1e9的斐波那契数列,然后查找即可。
51nod 1103
将数组a的前缀和mod n算出来;
1. 如果有0,那么便是要求的结果
2. 如果没有0,根据抽屉原理,必然存在两个余数一样的前缀和,两者之间的数即是要求的数。
51nod 1108
三个维度互相独立,每个维度分开考虑。
算出每个维度中坐标的中位数,即是所求点的位置。
将首尾对称的两个坐标相减,然后求和,即是该维度下距离之和。
51nod 1109
宽搜
每个状态记录当前位的值,到当前位置所构成的数的余数,上一位的地址;
然后搜索下一位的可能值(只有0或1);
用余数作为hash,每个余数只存最先出现的一个。
51nod 1110
将 每个点具有权值w 看做 有w个这样的点,然后求所有点的中位数;
首尾对称的点的距离之和即是答案;
51nod 1113
裸的矩阵快速幂;
先把矩阵的操作写好,比如 单位化,复制,加法,乘法;
然后写快速幂;
51nod 1205
将m1的时间小于m2的时间的点放到集合s1中,其余的点放到集合s2中;
s1中的点按照m1的时间递增排序,s2中的点按照m2的时间递减排序;
先做s1中的点,再做s2中的点;
51nod 1281
先把山峰的位置求出来;
然后二分k;
codeforces contest 342 A题
设d=b-c;
如果a<=d,则直接买塑料瓶;
否则首先考虑玻璃瓶:先将n拿出b,令sol=(n-b)/d, re=(n-b)%d, 然后sol++,re+=c; 然后sol+=re%a;
这里有一个特殊情况,如果n<b,则直接sol=n%a;
51nod 1070
博弈题,通过打表可以发现当n为斐波那契数列时B获胜,否则A获胜。算出1到1e9的斐波那契数列,然后查找即可。
51nod 1103
将数组a的前缀和mod n算出来;
1. 如果有0,那么便是要求的结果
2. 如果没有0,根据抽屉原理,必然存在两个余数一样的前缀和,两者之间的数即是要求的数。
51nod 1108
三个维度互相独立,每个维度分开考虑。
算出每个维度中坐标的中位数,即是所求点的位置。
将首尾对称的两个坐标相减,然后求和,即是该维度下距离之和。
51nod 1109
宽搜
每个状态记录当前位的值,到当前位置所构成的数的余数,上一位的地址;
然后搜索下一位的可能值(只有0或1);
用余数作为hash,每个余数只存最先出现的一个。
51nod 1110
将 每个点具有权值w 看做 有w个这样的点,然后求所有点的中位数;
首尾对称的点的距离之和即是答案;
51nod 1113
裸的矩阵快速幂;
先把矩阵的操作写好,比如 单位化,复制,加法,乘法;
然后写快速幂;
51nod 1205
将m1的时间小于m2的时间的点放到集合s1中,其余的点放到集合s2中;
s1中的点按照m1的时间递增排序,s2中的点按照m2的时间递减排序;
先做s1中的点,再做s2中的点;
51nod 1281
先把山峰的位置求出来;
然后二分k;
codeforces contest 342 A题
设d=b-c;
如果a<=d,则直接买塑料瓶;
否则首先考虑玻璃瓶:先将n拿出b,令sol=(n-b)/d, re=(n-b)%d, 然后sol++,re+=c; 然后sol+=re%a;
这里有一个特殊情况,如果n<b,则直接sol=n%a;
相关文章推荐
- 《冒号课堂》学习笔记 编程范式汇总
- 全球变暖基础知识小测试程序(Global Warming Facts Quiz)
- 父类变量与子类对象之谈
- Java的方法签名
- 一步一步学习underscore的封装和扩展方式
- 成为 Linux 内核高手的四个方法
- jdbc.properties
- mongodb在ubutun上的安装
- 专访CEO何朝曦:深信服高速成长的秘诀
- Java 序列化Serializable详解(附详细例子)
- web.xml
- 课后作业静态网页制作-仿Argo官网
- iOS-生成Bundle包-引入bundle-使用bundle
- gerrit
- C语言字符数组的输入与输出
- 磨刀不误砍柴工!打开软件前应该执行的四个方面
- 统领学习的二八法则
- 去大公司,还是小公司?
- 每天20篇blog的限制
- git技巧