
HDU
a892573486
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HDU - 5912(水)
/* HDU - 5912 题意大体是 给两个数组a[n],b[n] 然后按照给定的式子求解 水题而已,直接模拟即可 */ #include #include #include #include #include #define ll long long using namespace std; int原创 2018-01-30 18:25:26 · 347 阅读 · 0 评论 -
HDU - 6050(推公式、矩阵快速幂)
/* HDU - 6050 题目大意就是 要你用给你三个关系式然后给你n,m要你求F(m,1) 看题解后F(1,n)=F(1,n-1)+2*F(1,n-2)可以用特征根方程求得F(1,n)的通项公式 所谓特征根方程简单点就是 下标为n的x的次数就是0,+1就是一次方,-1就是-1次方以此类推 所以这题的特征根方程为:x^原创 2018-01-23 14:50:07 · 332 阅读 · 0 评论 -
hdu 6242(随机数)
/* hdu 6242 题目大意 给你一堆点 求一个能让>=1/2的点在圆上的圆的圆心和半径 首先这个答案肯定不唯一 其次这道题用了随机数(第一次接触这东西) 简单记一下rand()是产生一个数 虽然说是随机但其实并不是 它是系统根据一个数以及对应公式递推产生 这个数如果不设定则是系统在开机原创 2018-01-23 14:49:50 · 446 阅读 · 0 评论 -
HDU - 4430(二分)
/* HDU - 4430 题目大意就是 给你n个蜡烛 要你围城r个同心圆,每个圆上的蜡烛数是k^i 在圆的中心可以放1个蜡烛也可以不放 问当r*k最小时,r和k分别是多少 解题思路: 我们可以枚举r然后找到符合条件的k 计算r*k找到最小的哪一组 当r最大,则k要最小即k==2原创 2018-01-23 14:48:54 · 266 阅读 · 0 评论 -
HDU - 4811(找规律)
/* HDU - 4811 题目大意是 给你一定数量的三种球 然后每摆一个球根据他给的规则算分 问最多多少分 多列几组找规律 前几个肯定是单独算分 然后后面摆的要符合规律的话 肯定每次最多6分(任意取一种球摆在中间,左边三种颜色都有,右边也三种颜色都有) 就会发现可以总结成一个等式原创 2018-01-22 16:55:04 · 356 阅读 · 0 评论 -
HDU - 4802(模拟)
/* HDU - 4802 单纯模拟 */ #include #include #include #include #include #define pi 3.1415927 #define ll long long using namespace std; int main() { int n; while(cin>>原创 2018-01-22 16:51:53 · 220 阅读 · 0 评论 -
HDU - 4814(数学、进制转换)
/* HDU - 4814 题意大体是 给你一个数要你转换成phi进制,且不能出现11的情况 解题思路就是 建立一个数组a[i]=j i表示phi的i次方,j表示这一项的系数 一开始把整个数n可以看成 n*phi^0存入到数组中 再 通过给的两个公式 2*phi^i=phi^(i+1)+phi^(i-原创 2018-01-22 16:43:09 · 314 阅读 · 0 评论 -
HDU - 4815(概率dp)
/* HDU - 4815 题意为 n道题,老虎不低于P的概率下不会输 求使老虎不会输于猴子的概率大于等于p的分数是多少 转化下就是 猴子得分小于等于k的概率大于p 则老虎赢得的概率大于p的保险分数为k 用概率dp dp[i][j]表示猴子前i道题得分为j的概率 最后求和s原创 2018-01-22 16:39:41 · 357 阅读 · 0 评论 -
hdu 4611(数学、求和、gcd)
/* hdu 4611 题目简化后的意思就是给你n、a、b 求∑(i%a-i%b),i从1到n 直接求肯定不行 i%a-i%b肯定是有循环节的 那就是lcm(a,b) 所以当lcm(a,b)>n时 就直接求∑(i%a-i%b),i从1到n 当lcm(a,b) 就求∑(i%a-i%b),i从1原创 2018-01-22 16:33:52 · 259 阅读 · 0 评论 -
HDU 5114(几何)
/* HDU 5114 题意大体是 有一个矩形,有两个点在矩形内沿(1,1)移动 若碰到矩形的边则遵从入射角等于出射角且能量守恒的反弹 给出矩形大小n,m,以及两个点的初始位置(x1,y1)(x2,y2) 问他们能否相撞,如果能则在哪儿相撞,不能则输出Collision will not happen. 解题思路大概是原创 2018-01-22 16:19:07 · 262 阅读 · 0 评论 -
HDU - 5120(几何、求两圆相交)
/* HDU - 5120 求两圆相交部分的面积 输入两个圆心坐标和半径 直接调用模板就行 */ #include #include #include #include #include #include #define ll long long #define INF 2147483647 #define N 25 #define P原创 2018-01-22 16:16:39 · 226 阅读 · 0 评论 -
hdu 4652(概率dp)
/* hdu 4652 题目大意是 有一个m个面的骰子 然后根据输入求 连续出现n个相同面 以及n个不同面的期望 以往的概率dp都是考虑 dp[i]由什么组成,然后列出递推方程 而这题考虑,dp[i]会变化成什么 1.连续出现n个相同面的期望 设dp[n]表示已经掷出n个相原创 2018-01-28 19:54:46 · 269 阅读 · 0 评论 -
hdu 4602(推公式、矩阵快速幂)
/* hdu 4602 题目大意是 将一个数n写成多个整数相加的形式 问所有式子里面1、2、3……n有多少个 1-5的所有组合可以写成一下形式 1 2 3 4 5 1 1 2 5 12 28 2 1 2 5 12原创 2018-01-28 19:55:23 · 307 阅读 · 0 评论 -
hdu 6055(简单几何、找正方形)
/* hdu 6055 题意大体是 给你一堆点 点的坐标(x,y)x y都是整数 问这些点能组成多少个不同的正多边形 因为x y是整数 所以能组成的正多边形只能是正方形(这个自己想想吧应该很好懂) 所以题目就变成问我们正方形有多少个 我们先枚举两个点 两个点组成正方形的一条边 一条边可以确原创 2018-01-28 19:56:12 · 331 阅读 · 0 评论 -
hdu 6227(思维)
/* hdu 6227 题意大体是 有n只兔子, 每只兔子都可以跳到任意两只兔子之间, 但是两只兔子之间必须有空, 而且跳的兔子必须是两边的(最左或者最右), 问最多能跳几下 以第三组样例来说 3 5 9 如果要跳的次数最多 就要把空间充分利用 第一步肯定就是3跳到6(因原创 2018-01-29 13:03:49 · 393 阅读 · 0 评论 -
HDU - 4608(暴力)
/* HDU - 4608 记录一下strrev()将字符串倒序排列 题意大体是 给你一个数问比这个数大且最小的 各个数位之和是10的倍数的数 暴力 个位每次+1 然后直到符合条件即可 然后设所给的数有n位 第1——(n-2)之和对10取余肯定在0——9之间 所以后两位也只原创 2018-01-23 14:50:29 · 217 阅读 · 0 评论 -
hdu 4810(二进制找规律,矩阵快速幂)
/* hdu 4810 题意就是给你一个数n,再给你n个数 然后依次求 1个数的异或和 2个数的异或和 一直到n个数 看了题解后发现可以利用 异或的这个性质 奇数个1就是1 偶数个1就是0 所以我们可以把每一位拆开 来看是否有值 最后再求和原创 2018-01-23 14:50:49 · 347 阅读 · 0 评论 -
hdu 4565(推公式、矩阵快速幂)
/* hdu 4565 题目大意 给定a,b,n,m 求s=┌(a+sqrt(b))^n┐%m 因为题目给出b的范围是(a-1)^2 所以(a-sqrt(b))^n 设: (a+sqrt(b))^n=x*a+y*sqrt(b); (a-sqrt(b))^n=x*a-y*sqrt(b);原创 2018-01-23 14:57:00 · 244 阅读 · 0 评论 -
HDU - 5914(模拟,斐波拉契数列)
/* HDU - 5914 题目大意就是 给你一个n,有1到n长度的木棍 问要使这些木棍组不成三角形 最少需要去掉几根木棍 那样例来举例 n=4 1 2 3 4 我们需要去掉4这一根木棍 n=5 1 2 3 4 5 我们还是需要去掉4这一根木棍 n=6原创 2018-01-30 18:36:21 · 305 阅读 · 0 评论 -
HDU - 5916
/* HDU - 5916 题目大意是 先给了一个概念, 对于一个数组相邻两位的最大公约数的和,被称为谐波值。 然后给你一个n一个k, 要你求由1到n组成的数列中, 谐波值第k小的数列。 很明显有多个符合要求的数列,我们找到一个即可。 所以我们找一个最好找的。 如果一个数列是1到n按顺序原创 2018-01-30 19:12:53 · 381 阅读 · 0 评论 -
hdu 2298(推公式、解方程)
/* hdu 2298 题目大意就是 你站在(0,0)点射箭要射到(x,y)点 告诉你箭的速度v 问通过调整角度能不能射到(x,y)点 如果可以问最小角度是多少 如果不行输出-1 这就是一道高中物理题 当箭刚好到(x,y)点那么所需的角度最小 设与x方向的夹角为α 则 y方向有y原创 2018-01-27 13:57:03 · 355 阅读 · 0 评论 -
hdu 2841(容斥原理)
/* hdu 2841 题意大概是 你站在(0,0)点 给你一个以(11,1)为顶点n*m的方格 每个交点处都有一棵树 问你能看到几棵树 假设有两棵树 他们的坐标分别为(x1,y1)(x2,y2)(x1>x2 y1>y2) 若(0,0)->(x1,y1)和(0,0)->(x2,y2)两个向量平行 那原创 2018-01-27 13:54:57 · 256 阅读 · 0 评论 -
hdu 2082(普通母函数)
/* hdu 2082 普通母函数 直接套模板就行 普通母函数主要解决组合问题 大概思路是开2个数组,c1[ ]保存当前得到的多项式各项系数,c2[ ]保存每次计算时的临时结果, (解释下c1[a]=b,其中a为多项式中x的指数,b为该项的系数) 当每次计算完毕后,把它赋给c1,然后c2清零。 计算的时候,开3层for原创 2018-01-26 12:24:54 · 266 阅读 · 0 评论 -
hdu 3037(卢卡斯定理)
/* hdu 3037 卢卡斯定理 直接套模板就行 主要用于求 C(N,M)%P 其中N与M较大而P小时 附带提一下卡特兰数 h(n)=C(2n,n)/(n+1) (n=0,1,2,...) 或 h(n)=c(2n,n)-c(2n,n-1)(n=0,1,2,...) 具体怎么来的我也不知道原创 2018-01-26 12:24:33 · 292 阅读 · 0 评论 -
hdu 3532(极角排序)
/* hdu 3532 题目大体意思是 给你一堆点 以每个点为顶点与其余点相连形成多个角 找到这多个角的最小的角 以最小角形成一个集合 然后再在这个最小角集合中找到最大的角 极角排序 先枚举每个点 再求出这个点与其他每个点的斜率 再将斜率排序最小角一定在相邻的斜率里产生 之后找到原创 2018-01-26 12:20:15 · 353 阅读 · 0 评论 -
hdu 5001(概率dp)
/* hdu 5001 题意大体是 有n个城市m条路你可以走d步 问你不能到每个城市的概率是多少 每次去掉要算的点 求出到达其他点的概率 就是不能到达这个点的概率 */ #include #include #include #include #include #define mod 1000000原创 2018-01-26 12:19:39 · 240 阅读 · 0 评论 -
hdu 6198(找规律、矩阵快速幂)
/* hdu 6198 题目大意就是 给你一个数k 问你用k个斐波拉契数不能组成的最小的数是几 比如 当k==1时 不能组成斐波拉契数就是4 因为 0 1 1 2 3 5 8 13 21 34 然后我们多列几项找规律 k==2时 答案为12 k==3时 答案为33 我们找到规律原创 2018-01-24 12:02:52 · 314 阅读 · 0 评论 -
hdu 5839(简单几何、暴力)
/* hdu 5839 题目大体就是说 给你一对点找到符合以下要求的四面体 1.至少四条边相等(换句话说可以5条边或者6条边) 2.如果只有四条边相等那么不相等的两个边为对边 直接暴力 先用两个循环,枚举两个点,然后找到这两个点距离相等的点,放入一个数组。 然后在这个数组中,找两个符合条件的点。 注意每个正四原创 2018-01-24 12:02:31 · 288 阅读 · 1 评论 -
hdu 4004(二分)
/* hdu 4004 题意大体是 青蛙要过河,河上有n块石头,只能跳m下 告诉你河宽L以及每块石头离开始的岸边的距离 问青蛙至少要有跳多远的能力才能跳过去 可以把对岸看成距离开始的岸边L远的一块石头 需要跳到这块石头上去 二分找到青蛙需要的最小的跳跃能力即可 */ #include #include原创 2018-01-24 12:02:12 · 142 阅读 · 0 评论 -
hdu 2141(二分)
/* hdu 2141 题意大体是 给你L个a,n个b,m个c以及s个x 问是否存在a+b+c==x 题目数据不多可以先合并a+b 存入数组ab[] 然后枚举c得到x-c 然后在数组ab中二分查找 是否存在x-c即可 */ #include #include #include #inc原创 2018-01-24 12:01:52 · 163 阅读 · 0 评论 -
hdu 1969(二分)
/* hdu 1969 题目大意是 有n块蛋糕,f个伙伴,告诉你每块蛋糕的半径 包括自己一共f+1个人要均分这n块蛋糕 可以不管分到的蛋糕是什么形状的 但是每人只能分一块(也就是说,分得的蛋糕只能从一整块蛋糕上切) 解题思路大体是 二分查找要分给每个人的蛋糕是否够 */ #include #in原创 2018-01-24 12:01:27 · 263 阅读 · 0 评论 -
HDU - 4569(思维、暴力)
/* HDU - 4569 题意大体是 f(x) = an*x^n+...+a1*x +a0 告诉你n,an到a0 问是否存在x满足 f(x)≡0mod(p*p) 解题思路大体是 因为f(x)%(p*p)=0 所以f(x)%p=0 所以我们先暴力枚举 找到满足f(x)%p=0的x原创 2018-01-23 14:58:58 · 228 阅读 · 0 评论 -
hdu 1521(指数型母函数)
/* hdu 1521 指数型母函数 指数型母函数主要解决排列问题 问题解决与普通母函数差不多 只不过是每一项都要除以该项的阶乘 所求结果就是x^k/k!前面的系数 也就是c1[k]*k! */ #include #include #include #include #include #include #defi原创 2018-01-29 13:37:37 · 279 阅读 · 0 评论