ICPC
WilliamSun0122
这个作者很懒,什么都没留下…
展开
-
2015-ICPC-ShangHai-B-hdu5573-构造+二进制
题意给你一个二叉树,根节点为1,从根节点开始依次向下走k层,问如何走使得将路径上的数进行加减最终结果得到n。题解首先我们要知道1、2、4…2^k可以构造出所有小于2^(k+1)的数,那么实际上只要走2的幂次即最左边的结点即可。 根据题意,树的最左边最下一层数为2^(k-1),所以当我们走最左一层时,我们能得到小于2^k的所有数。 由数据范围N<=2^k,可知,我们只需要用二叉树的最左边一列k个(即原创 2017-03-27 17:24:03 · 493 阅读 · 0 评论 -
ACM-ICPC-ChinaFinal-H题
2016-ChinaFinal-H题目链接题意: 给出n,m,k,在n*m的网格内填[1,k]的整数,定义一个格子是great的,如果满足填在这个格子中的数是本行和本列中严格的最大值。定义Ag为网格中恰好有g个great格子的填法数,求Σ(g+1)Ag。参考博客 题解: 好像可以用组合数学的容斥原理计算,不过上诉博客的做法我觉得思维性很强,想清楚后很简单,就是一个快速幂。做法是观察整体,把问题原创 2017-03-14 20:49:37 · 688 阅读 · 0 评论 -
2015-ICPC-ShangHai-K-hdu5583
题意:给你一个01字符串,要求最多改变一个字符(即0->1或1->0),使相邻相同字符的平方和最大题解:其实此题还是暴力求解的,首先我们把相邻相同的字符分块(离散化),然后对于第i个分块与第i+1个分块,枚举(第i个分块字符个数+1和第i+1个分块字符个数-1)的情况与(第i个分块字符个数-1和第i+1个分块字符个数+1)的情况,需注意的是当第i+1个分块若只有一个字符,那么第i个分块、第i+1个分原创 2017-03-26 10:44:46 · 506 阅读 · 0 评论 -
2015-ICPC-ShangHai现场赛-L-数论-gcd
题意:有一只青蛙,它从起点(x,y)出发,每次它会走lcm(x,y)步到达点(x+lcm(x,y),y)或点(x,y+lcm(x,y)),最终,它会到达点(ex,ey),现给你终点(ex,ey),要你求出它的起点有多少种可能。题解: 首先来个公式:lcm(a,b)*gcd(a,b)=a*b 这里我简单证明一下:设a=x^k1*y^k2…,b=x^k3*y^k4…,gcd(a,b)=x^(min(原创 2017-03-25 18:17:23 · 548 阅读 · 0 评论 -
2015-ICPC-ShangHai现场赛-F-hdu5578
这是一道签到题,比较水。题意:相邻两个字母间的距离位1,找两个相同字母的最短距离,没有输出-1。 题解:我用map存字母出现的位置,当字母第二次出现时计算距离并更新答案,再把map所存字母的位置更新为现在的位置。#include <cstdio> #include <cstdlib> #include <cstring> #include <iostream> #include <map> usi原创 2017-03-25 16:30:07 · 744 阅读 · 0 评论