
数学相关
文章平均质量分 50
squee_spoon
这个作者很懒,什么都没留下…
展开
-
TopCoder SRM 697 div1
题目要求abiimodpi=0a_i^{b_i}modp_i = 0,也就是aia_i的每个素因子个数的bib_i倍都大于等于pip_i相应的因子个数。其实我们可以让aia_i只有一个素因子,比如说2,也就是如果存在解,那么一定存在aia_i均为2的整数幂的解。 设sum=∑i=0n−1aisum=\sum_{i=0}^{n-1}{a_i} 我们得到一组不等式,对于所有的ii有ai×原创 2016-08-18 23:29:23 · 904 阅读 · 0 评论 -
hdu 5155 Harry And Magic Box
题意:一个n*m的网格,每行每列都有珠宝。问有多少种不同的珠宝摆放方式能满足要求。 思路:dp。dp(i,j)表示n=i,m=j时的答案。因为n和m等价,可以设i>=j。显然,当j=1时,dp(i,j)=1,然后根据dp(i,j)可以推出dp(i,j+1)。比如你现在要计算dp(i,j),并且珠宝的放置时一列一列放的,你现在已经放好了前j-1列,需要摆放最后一列,前面的每一列肯定原创 2015-01-03 22:42:14 · 633 阅读 · 0 评论 -
Codeforces Round #285 (Div. 1) B
B. Misha and Permutations Summation 题意:有两个0~n-1的排列p和q,设p是第x小的排列,q是第y小的排列,求0~n-1的全排列中第(x+y)mod(n!)小的排列。 思路:很容易想到康托展开。。但是n太大了,无法真正康托展开。所以用树状数组统计p和q中每个数后面有多少个比它小的数,然后求和,进位(最后一位满1进原创 2015-01-14 16:53:24 · 627 阅读 · 0 评论 -
HDU 1027 Ignatius and the Princess II
题意:求N个数(1,2,3,...,NN)的全排列中原创 2014-05-22 14:34:49 · 562 阅读 · 0 评论 -
Codeforces Round #276 (Div. 1) B
B. Maximum Value 题意:给n(至多200000)个数a1~an,数的范围是1~1000000,找出最大的aimodaj,要求ai>=aj。 思路:对1~1000001中的每个数,找出比它小且最接近它的ai。然后枚举每个不同的aj,对每个数枚举它在1000000内的倍数,答案就可能出现在比这个倍数小的最大的ai上。#incl原创 2015-01-06 14:58:19 · 567 阅读 · 0 评论 -
hdu 4465 Candy
题意:有两个盒子,里面各有n颗糖果。每天以p的概率打开第一个盒子,1-p的概率打开另一个盒子,拿一颗糖吃掉。求当你打开发现是空盒的时候,另一个盒子里的糖的期望。 思路:递推。计算一个盒子空的时候,另一个盒子还有i颗糖的概率,把它乘上i并累加起来。公式是f(i)=p^n*(1-p)^i*C(i+n,i)。计算时肯定不能暴力,算出来i=0,就可以递推i=1,2,3...,f(i)=f原创 2014-11-26 23:17:21 · 628 阅读 · 0 评论 -
hdu 5035 Delivery
题意:n个窗口在服务,分别服务了ci分钟,没人排队,你需要等待第一个服务完的窗口并接受服务。每个窗口的服务时间服从指数分布:p(ti = t) = kie^(-kit),问从现在到你接受服务完所花时间的期望。 思路:推公式。这题就不是给没好好学过数学的人做的,无耻地看了下别人的题解。大概是这样的,假设你在t=x时刻,接受的是第i个窗口的服务,其他窗口的完成时间肯定比x要晚,那么就原创 2014-11-26 11:47:09 · 630 阅读 · 0 评论 -
hdu 5011 Game
题意:原创 2014-11-20 13:21:45 · 442 阅读 · 0 评论 -
hdu 5000 Clone
题意:原创 2014-11-20 10:45:17 · 475 阅读 · 0 评论 -
hdu 5001 Walk
题意:一个连无向图原创 2014-11-19 22:18:38 · 417 阅读 · 0 评论 -
hdu 4451 Dressing
题意:有N、M、K件yi原创 2014-11-01 11:31:48 · 474 阅读 · 0 评论 -
Codeforces Round #272 (Div. 2) C
C. Dreamoon and Sums原创 2014-10-14 08:42:22 · 481 阅读 · 0 评论 -
Codeforces Round #272 (Div. 2) D
D. Dreamoon and Sets题意:思路:原创 2014-10-13 00:39:51 · 487 阅读 · 0 评论 -
ACdream 1213 Matrix Multiplication
题意:给一个无向图,求这个图的关联矩阵A原创 2014-10-02 09:43:53 · 546 阅读 · 0 评论 -
hdu2516 取石子游戏
思路:找规律。先写个暴力程序,然后发现凡是斐波那契数,都是后手ying原创 2014-09-30 10:32:13 · 475 阅读 · 0 评论 -
hdu1787 GCD Again
题意:给一个数n,求小于n的数中,有多少个数与n的最大公约数大于1、思路:欧拉函数。原创 2014-10-01 09:22:19 · 455 阅读 · 0 评论 -
Codeforces Round #287 (Div. 2) C
507C - Guess Your Way Out! 题意:遍历一棵满二叉树,遍历方法是左右左右递归地遍历。树高度为h,最下层第n个节点是出口,问访问到出口前要访问多少个节点。 思路:按题目要求的顺序去递归遍历,判断出口在以当前节点为根的左子树还是右子树中,如果是在后访问的子树中,直接加上2^h,因为根加上另一颗子树刚好有2^h个节点,再往下递归。原创 2015-01-24 18:45:24 · 597 阅读 · 0 评论 -
hdu 3074 Multiply game
一个数列,有两种操作。一是修改数列中某个数,二是求数列中连续一段的积。 很明显的线段树单点更新模版题。#include#include using namespace std; #define lch(x) ((x)<<1) #define rch(x) (((x)<<1)|1) #define ll long long const int mod = 10原创 2015-04-22 11:50:00 · 499 阅读 · 0 评论 -
(中国剩余定理模版)hdoj 5768 Lucky7
解(1<<(n+1))-1个同余方程组,然后容斥。作为中国剩余定理的模版。#include <iostream> #include <stdio.h> #include <cmath> #include <algorithm> #include <string> #include <string.h> #include <vector> #i原创 2016-07-29 21:55:22 · 452 阅读 · 0 评论 -
积分!!! hdoj 5761 Rower Bo
第一次做高等数学题,比赛的时候不会解微分方程,模拟积分过程,精度不够。。其实我感觉这种题,如果让手动分微元模拟积分,才能体现出计算机的作用,不然就是纯数学题。 后来发现,解微分方程是相对复杂的,可以巧妙列积分方程去解。 设前进方向与y轴反方向的夹角θ\theta是时间tt的函数,即θ=θ(t)\theta=\theta(t),经过时间TT达到目的地。 对水平方向,在水流的作用下时刻原创 2016-07-29 21:15:33 · 439 阅读 · 0 评论 -
快速傅里叶变换(FFT)
首先说一下我用FFT做什么,我要做的是多项式乘法,或者说,加速多项式乘法。 考虑多项式A(x)=∑j=0n−1ajxjA(x)=\sum\limits_{j=0}^{n-1}a_jx^j,它一共有nn项,我们称它的次数界为nn。假设我们有两个次数界为nn的多项式A(x)A(x)和B(x)B(x),要求它们的和是非常简单的,只需要将对应的系数相加,复杂度为O(n)O(n)。如果要求他们的积,则需原创 2016-05-21 09:10:23 · 822 阅读 · 0 评论 -
hdoj 2256 Problem of Precision
最近做网赛看到一道类似的题,无法下手,就找到一道裸题来做。这题求的是5+2根号6的n次方。 解法是矩阵快速幂。因为,不管n等于几,得数总可以表示为an+bn*根号6(a1=5,b1=2),这样就可以构造矩阵来算。算出来an和bn以后,计算(an+bn*根号6)mod1024,结果发现连样例都过不了,这是因为根号6不是整数,我们平时习以为常的等式失效了。正确的做法是推出整数部分=2原创 2015-09-23 20:29:28 · 466 阅读 · 0 评论 -
TopCoder Open 2016 R2B
300 这题让计算三条边分别不超过aa,bb,cc的三角形有多少个,数据范围1e91e9,比赛时写了个O(1e9)O(1e9)的,悲惨爆零。 正确的做法是利用容斥原理O(1)O(1)。如果三条边可以是不超过aa,bb,cc的任何数,答案就是a∗b∗ca*b*c,但是肯定有些情况是非法的,只需要考虑两边长度不大于第三边就行了,把非法的减去就是答案。具体的计算过程还是需要细心推一下的,只需要很基原创 2016-05-28 20:48:24 · 608 阅读 · 0 评论 -
TopCoder srm683 div2 1000
已经弱到去div2混了…… 题意:给一棵无根树,计算它的所有子树的大小的和。 这个问题转化为统计每个节点的“贡献”,即它在所有可能的子树中出现了多少次。还是先拿有根树来考虑,假设我们已经计算出了树t所有节点的“贡献”,如果在t中的某个叶子v上,连接一棵新的子树t’会怎么样呢?这样一来,v的贡献会将会被乘上“子树t’的树根的贡献+1”。于是,我们可以通过dfs,计算出以每个节点为根的子树中,该节点原创 2016-03-06 14:02:41 · 464 阅读 · 0 评论 -
2014-2015 ACM-ICPC, Asia Xian Regional Contest F Color
Color 有n朵花排成一列,m种颜色,给这些花染色,使得恰好有k种颜色,且相邻的花颜色不同,问有多少种染色法。 首先必须从m种颜色中选出k种,这部分有C(m,k)种选法。然后第一朵花可以染成k种颜色,后面的所有花都能染成k-1种颜色,也就是k*(k-1)*...*(k-1)。但是这样不能保证整个过程中k种颜色全部用到了。于是需要根据容斥原理做一原创 2015-12-09 21:32:37 · 983 阅读 · 0 评论 -
hdu 4372 Count the Buildings
n栋楼一列,从前能看到f栋,从后能看到b栋,楼高分别是1~n。“看得到”某楼就是指你和楼之间没有更高的楼,问楼的排列有多少种可能。 因为最高的楼左右都能看到,所以忽略它。剩下的楼可以分为,f-1+b-1组,看得到的楼作为这组的代表,组内其他楼被挡住了。从这f-1+b-1组中选f-1组放到左边去就行了。因为每一组中,只有一栋楼能看到,其他的楼被挡住了可以任意排列,注意到a个元素的环原创 2015-08-21 20:10:16 · 438 阅读 · 0 评论 -
hdoj 5478 Can you find it
Problem DescriptionGiven a prime number C(1≤C≤2×105), and three integers k1, b1, k2 (1≤k1,k2,b1≤109). Please find all pairs (a, b) which satisfied the equation ak1⋅n+b1+ bk2⋅n−k2+1 = 0 (mod原创 2015-09-26 21:06:07 · 420 阅读 · 0 评论 -
hihocoder 1142 三分·三分求极值
三分去逼近一个凹/凸函数,很好的思想!这题要注意的是,循环终止的条件是,取得这两个点足够近(不是x坐标足够近)。#include #include #include #include #include #include #include #include using namespace std;const double eps = 1e-4;double a,b,c,原创 2015-08-05 22:20:21 · 839 阅读 · 1 评论 -
hdu 1085 Holding Bin-Laden Captive!
母函数水题。#include #include #include #include #include #include #include #include using namespace std;#define ll long longint c[8010];int main(){ int num_1,num_2,num_5; while(cin>>原创 2015-08-16 22:20:24 · 383 阅读 · 0 评论 -
Codeforces Round #315 (Div. 1) B
一个集合S中有n个元素,问S->S的所有二元关系中,有多少个关系满足对称,传递,但不满足自反的。 做这个题需要了解bell数。先定义一下C(n,k)表示从n个不同的元素中取k个的方案数;B(n)表示bell数,即将拥有n个元素的集合S划分为若干子集的方案数。B(0)=1,B(1)=1,B(2)=2,B(3)=5,B(4)=15... bell数满足这样的递推公式原创 2015-08-13 20:27:46 · 600 阅读 · 0 评论 -
hdu 1398 Square Coins
硬币的面值是1*1=1,2*2=4,...,17*17=289。问1~300的金额有多少种组成方法。 类似完全背包,dp搞一下就可以了。这题也是母函数的模版题,刚刚学习了母函数,感觉异曲同工。 如果用母函数的话,相当于求这个式子(1+x+x^2+...)*(1+x^4+x^8+...)*...*(1+x^289)每项的系数。#include usi原创 2015-06-20 13:08:41 · 392 阅读 · 0 评论 -
Codeforces Round #301 (Div. 2) E
E Infinite Inversions 一个无穷的数列1,2,3......进行n(n 考虑到交换的数可能比较大,但是交换的次数相对少,可以用离散化解决。离散化以后,模拟一下操作。然后逆序对可以分为两部分考虑,一部分是被交换了的数之间的逆序对,另一部分是被交换的数与没交换的数之间的逆序对。在这个数列中,每个数是唯一的,用离散化后的值借助树状数组可以得出被交换原创 2015-05-02 01:07:13 · 708 阅读 · 1 评论 -
bnuoj 34067 Pair
看到题以为能搜出来,写了个搜索,结果发现搜到20就搜不动了,不过发现了规律。答案序列是001112233344555...#include using namespace std; bool sumUsed[110];bool numUsed[110];int ans;int tmp;int n;void dfs(int sum){ if(sum>n)ret原创 2015-04-17 22:50:35 · 467 阅读 · 0 评论 -
hdu2176 取(m堆)石子游戏
思路:nim博弈。原创 2014-09-30 13:06:27 · 438 阅读 · 0 评论 -
hdu1846 Brave Game
思路:显然原创 2014-09-30 10:48:49 · 453 阅读 · 0 评论 -
hdu1527 取石子游戏
思路:wei原创 2014-09-30 09:46:25 · 542 阅读 · 0 评论 -
MemSQL Start[c]UP 2.0 - Round 2 A
题意:黄金进制。就是说每逢黄金分割率(0.618...)进一,这样的进制不方便像通常na原创 2014-08-11 12:58:36 · 531 阅读 · 0 评论 -
hdu 5019 Revenge of GCD
题意:两个数a,b,求他们第k大的原创 2014-09-19 21:51:17 · 471 阅读 · 0 评论 -
Codeforces Round #262 (Div. 2) B
B. Little Dima and Equation题意:原创 2014-08-22 09:17:28 · 520 阅读 · 0 评论 -
UVa11762 Race to 1
题意:给一个整数N,每次原创 2014-09-18 11:05:41 · 541 阅读 · 0 评论