- 博客(83)
- 资源 (2)
- 收藏
- 关注
原创 knn(2)进阶
本文是作者根据学习<<机器学习实战>>后编写的注释版代码。从文件读取到数组中def file2matrix(filename): fr = open(filename)#打开文件,返回对象 arrayOLines = fr.readlines() numberOfLines = len(arrayOLines)#得到文件行数 return...
2019-07-05 10:41:44
254
原创 使用knn算法解决kaggle手写数字识别问题
通过knn进行分类,解决kaggle手写数字识别问题,准确率达到百分之96.8,由于算法限制,要想进一步提高需要使用cnnknn主函数,很短的代码就能实现,通过计算inx距离dataSet中所有数据的距离选取最近的k个,然后找到k个中所占最多的类别。from numpy import *import operatordef classify0(inx,dataSet,labels,k):...
2019-07-05 10:27:56
1286
原创 knn(1)初步了解
简单实现加强学习实战上面的knn代码对书上代码进行理解,添加注释from numpy import *import operator#进行数据准备labels=['A','A','B','B']dataSet=array([[1.0,1.1],[1.0,1.0],[0.0,0.0],[0.1,0.0]])inx=[0.0,0.0]k=3dataSetSize = dataSe...
2019-07-01 15:34:16
224
原创 HDU4465-数学期望
链接:http://acm.hdu.edu.cn/showproblem.php?pid=4465 Candy Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2524 Accepted Submission(s): 1103
2017-10-19 22:06:24
218
原创 HDU-4793 几何
链接:http://acm.hdu.edu.cn/showproblem.php?pid=4793 题目大意 :有一个圆硬币半径为r,初始位置为x,y,速度矢量为vx,vy,有一个圆形区域(圆心在原点)半径为R,还有一个圆盘(圆心在原点)半径为Rm (Rm < R),圆盘固定不动,硬币撞到圆盘上会被反弹,不考虑能量损失,求硬币在圆形区域内运动的时间。 运动方程:x’=x+t*vx; y’=y+t*
2017-10-04 16:11:28
404
原创 UVALive 7147 -智商题
UVALive 7147 World Cuphttps://icpcarchive.ecs.baylor.edu/index.phpoption=com_onlinejudge&Itemid=8&page=show_problem&problem=5159题目大意:一场比赛,赢的得A分,输的得C分,平手都得B分。有n支队伍,分别比赛一次,选前m个队伍晋级(分数相同的随机排名)。问:可能的最大落榜分数
2017-10-02 22:16:34
307
原创 欧拉函数(或者容斥)-HDU5514
题目题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5514题目来源:2015沈阳区域赛,现场A的题,银牌题。简要题意:n个青蛙在m长的环上从0开始无限跳,每只跳ai远,求所有会被青蛙跳到的格子下标之和。数据范围:T⩽20;1⩽n⩽104;1⩽m⩽109;ai⩽109 开心的题显然很容易看出格子是否被跳和gcd(ai,m)有关。对于任意一个gcd(ai
2017-09-22 16:58:52
237
原创 贪心-HDU5976
https://vjudge.net/contest/185614#problem/F题目大意给定一个数,让你分成互不相等的n个数(n为自然数),使这些数的乘积最大,输出最大乘积。题目分析拿到一个数的时候分配,肯定是要分配到的数越小越好,但是不能分配出1,因为分配出1相乘之后得到的结果不会增加,因为想法就是枚举2,3,4,5……知道不能枚举即可。这个可以预处理一下,当然肯定还有未分配完的数,这时候要
2017-09-17 21:13:47
247
转载 数论-HDU5974
A Simple Math Problem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Problem Description Given two positive integers a and b,find suitable X and Y to meet the cond
2017-09-16 21:16:01
247
原创 找规律-POJ3372
http://poj.org/problem?id=3372一群小孩围成一个圈,老师顺时针发糖,分别每间隔0,1, 2, 3, 4……发一颗,问是否每个同学都有糖打印了前几项看出来得规律,只要n是2^k则输出YES,否则输出NO数论解法:N个人围成一个圈,老师给N个人分糖果.第i次分到的人的编号是f(x) = (x*(x+1)/2)%N,这N个人能不能至少获得1个糖果.易知必然存在i使得f(N -
2017-09-09 20:53:11
312
原创 莫比乌斯函数-HYSBZ2440
https://vjudge.net/contest/183383#problem/E小 X 自幼就很喜欢数。但奇怪的是,他十分讨厌完全平方数。他觉得这些 数看起来很令人难受。由此,他也讨厌所有是完全平方数的正整数倍的数。然而 这丝毫不影响他对其他数的热爱。 这天是小X的生日,小 W 想送一个数给他作为生日礼物。当然他不能送一 个小X讨厌的数。他列出了所有小X不讨厌的数,然后选取了第 K个
2017-09-08 16:30:08
273
原创 莫比乌斯反演-ACdream-1117
题目链接:http://acdream.info/problem?pid=1114题意:给定一个序列,求序列中互质的数的对数。分析:我们设f(d) 表示gcd恰好为d的数的个数,F(d)表示gcd为d的倍数的个数 因此,F(d) = sigma (f(n)) (n%d==0) f(n)= sigma( mu[d]*F[n/d] ) (n%d==0); 因此我们先统计出
2017-09-08 14:50:38
248
原创 莫比乌斯反演-HDU5212
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5212题意:给定序列,1≤i,j≤n,求gcd(a[i],a[j])∗(gcd(a[i],a[j])−1)之和。分析:同样我们设 f(d):满足gcd(x,y)=d且x,y均在给定范围内的(x,y)的对数。 F(d):满足d|gcd(x,y)且x,y均在给定范围内的(x,y)的对数。 反演后我
2017-09-07 22:34:34
216
原创 组合数学-HDU5894
https://vjudge.net/contest/183475#problem/C题目大意:圆周上有N个不同的椅子,要让M个相同的人坐在上面,使得两人之间至少隔K把空椅子,求方案数(模1e9+7)。0< M < N<1e6, 0< K<1000.题解:考虑每两个人之间隔了几把椅子。可以发现,一共有M个数,和为N-M,且每个数都>=K.将每个数都减去K-1,即得到:M个正数之和为N-K*M,方案数
2017-09-07 18:03:13
333
原创 递推(dp)-HDU5366
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5366Problem DescriptionZJiaQ want to become a strong man, so he decided to play the mook jong。ZJiaQ want to put some mook jongs in his backyard. His backy
2017-09-07 17:03:59
263
原创 期望+01背包-LightOJ1079
https://vjudge.net/contest/182687#problem/D题意:有一个人要抢银行,有n家银行,第i个银行有m[i]的财富,且抢第i个银行被抓的概率是p[i],如果这个人抢银行被抓的概率不超过P,就是安全的,问保证安全的情况下能抢到的最大财富值是多少,每个银行只能被抢一次。 题解:01背包问题,银行i和j都抢的逃跑概率是(1-p[i]) * (1-p[j]),所以用01背包
2017-09-04 12:22:11
201
原创 期望 -LightOJ 1248
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=26958 题意:有一个n面的骰子,每次投掷每个面都是等概率出现,求所有面都出现的期望投掷次数。思路: 思路:f[i]表示已经出现了i个面,还需要投掷的期望次数,f[n] = 0 , f[i] = i/n * f[i] + ( n - i ) / n * f[i+1]
2017-09-03 20:16:10
264
原创 构造矩阵+矩阵快速幂 POJ3735
https://vjudge.net/contest/182427#problem/C这题题意如下,有n 只猫咪,三种关于花生的命令 ( 得花生,吃花生,交换花生 ) ,给出一套命令,重复 n 次,问最后每只猫咪得到多少花生。 M那么大,毫无疑问,矩阵快速幂。先构造一个单位矩阵,因为只需在单位矩阵上进行操作,然后用操作完之后得到的矩阵乘以初始的状态就得到最终的状态。 看下图:第 i 只猫咪得花生
2017-09-02 22:40:59
241
原创 容斥原理 HDU-5072
https://vjudge.net/contest/183008#problem/C解题思路:“如果三个数a, b, c不符合条件,那么一定有一对是互质的,有一对是不互质的。不妨令a, b互质,b, c不互质。于是我们可以枚举b来统计答案。在除了b自己的所有数中,要么与b互质,要么与b不互质。假设n个数中有x个与b不互质的数,那么b对答案的贡献就是(x - 1) * (n - x)。注意这里的求出
2017-09-02 19:04:25
386
原创 概率期望 LightOJ-1038
https://vjudge.net/contest/182687#problem/C题意: 给出一个数字D 我们可以选择1-D中可以被D整除的数字,然后用D出得到一个新的数字D1; 然后在找所有D1的因子,用D1除,直到得到1; 问除的次数的期望值;思路: d[i] 代表从i除到0的期望步数;那么假设i一共有c个因子(包括1和本身) d[i] = ( d[1] + d[a2] + d[
2017-08-31 20:40:18
213
原创 矩阵快速幂+高斯消元解递推方程-HDU6185
http://acm.hdu.edu.cn/showproblem.php?pid=6185题目描述Bob’s school has a big playground, boys and girls always play games here after school. To protect boys and girls from getting hurt when playing happi
2017-08-31 19:16:07
2202
原创 等比矩阵求和-POJ3233
https://vjudge.net/contest/182427#problem/BDescriptionGiven a n × n matrix A and a positive integer k, find the sum S = A + A2 + A3 + … + Ak.InputThe input contains exactly one test case. The first lin
2017-08-30 22:08:50
655
原创 数学-HDU4790
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4790 题目意思是:从区间[a,b]选取一个数字x,区间[c,d]选取一个数字y,使得(x+y)%p=m。问你几率有多大。最简分式输出(除gcd就可以)。 总的事件总数就是(b-a+1)*(d-c+1)。 关键是求 满足(x+y)%p=m 的选择方法总数。 如何求呢? 其实直接求不好求,而且容易超
2017-08-28 20:52:15
306
原创 数学模拟 HDU-4814
题目地址:https://vjudge.net/problem/HDU-4814题意很简单:给定一个十进制数,要求输出在(1+sqrt(5))/2进制中的数的表示。 φ + 1 = φ 2 .11(φ) = 100(φ).由于x的0次幂等于1 所以完全可以把n当成对应的x进制数的个位 现在要做的就是把这个数转化成二进制题目给出的公式可以在两边同时乘x的若干次幂 那么这两个式子就变成了 x
2017-08-27 21:05:46
242
转载 数学学习计划
1.burnside定理,polya计数法 这个大家可以看brudildi的《组合数学》,那本书的这一章写的很详细也很容易理解。最好能完全看懂了,理解了再去做题,不要只记个公式。 *简单题:(直接用套公式就可以了) pku2409 Let it Bead http://acm.pku.edu.cn/JudgeOnline/problem?id=2409
2017-08-26 10:56:59
589
原创 各种博弈-HDU5754
题意:一个国际象棋棋盘,有四种棋子,从(n,m)走到(1,1),走到(1,1)的人赢,先手赢输出B,后手赢输出G,平局输出D。题解:先把从(n,m)走到(1,1)看做是从(1,1)走到(n,m)。四种棋子的规则如下:1、王(King):横、竖、斜都可以走,每次限走一格2、车(Rook):横、竖均可走,不能斜走,格数不受限制,除王车易位的情况下,平时不能越子3、马(Knight):每步棋先横走或竖走一
2017-08-26 10:23:50
180
转载 积性函数性质-POJ2480
这个题需要用到欧拉函数的知识……欧拉函数的定义:对正整数n,欧拉函数是小于n的正整数中与n互质的数的数目(我们定义φ(1)=1)欧拉函数的的通式:φ(n)=n*(1-1/p1)(1-1/p2)(1-1/p3)……*(1-1/ps)(p1,p2,p3,……ps均是n的质因子)欧拉函数有这么几个比较重要的性质:性质1:如果n是质数p的k次幂,那么φ(n)=p^k-1*(p-1)性质2:欧拉函数是积性函数
2017-08-25 21:23:36
469
转载 二分-POJ1905
大致题意: 一根两端固定在两面墙上的杆 受热弯曲后变弯曲 求前后两个状态的杆的中点位置的距离解题思路: 几何和二分的混合体如图,蓝色为杆弯曲前,长度为L 红色为杆弯曲后,长度为s h是所求 依题意知 S=(1+n*C)*L又从图中得到三条关系式; (1) 角度→弧度公式 θr = 1/2*s (2) 三角函数公式 sinθ= 1/2*L/r (3)
2017-08-25 20:59:22
272
原创 SG函数打表-HDU1848
题意:取石子问题,一共有3堆石子,每次只能取斐波那契数个石子,先取完石子者胜利,问先手胜还是后手胜可选步数为斐波那契数,用SG函数计算,最终结果是所有SG值异或的结果#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#define ll long longus
2017-08-25 19:18:23
381
原创 生成函数(背包)-HDU1171
https://vjudge.net/contest/181055#problem/C生成函数的解法要注意最后的判断,生成函数的用时更长。 背包是标准解法。#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#include <vector>#include
2017-08-23 14:28:26
528
转载 生成函数
原文:http://blog.youkuaiyun.com/xiaofei_it/article/details/17042651母函数,又称生成函数,是ACM竞赛中经常使用的一种解题算法,常用来解决组合方面的题目。本文讲解母函数,但不讲解该算法的基础理论。读者随便找一本组合数学教材便可找到相应的内容,或者直接在网上搜索一下。母函数通常解决类似如下的问题:给5张1元,4张2元,3张5元,要得到15元,有多少种组
2017-08-23 13:11:58
175
原创 生成函数-HDU1398
https://vjudge.net/contest/181055#problem/A给你一个数 让你求出1~17中每个数的平方任意组合 有几种情况满足条件。有多少种满足方案输出a[n] 最小的取不到的面值输出i,此时a[i]为0且i最小#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#inclu
2017-08-23 12:34:10
173
原创 容斥+莫比乌斯反演+分块优化-BZOJ2301
对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数。 Input 第一行一个整数n,接下来n行每行五个整数,分别表示a、b、c、d、k Output 共n行,每行一个整数表示满足要求的数对(x,y)的个数 Sample Input 22 5 1 5 11 5 1 5 2 Sample Out
2017-08-21 21:18:50
242
转载 莫比乌斯反演-HDU1695
https://vj.xtuacm.cf/contest/view.action?cid=57#problem/OHDU1695的题目大意是这样的,给你 a , b , c , d , k 五个值 (题目说明了 你可以认为 a=c=1) x 属于 [1,b] ,y属于[1,d] 让你求有多少对这样的 (x,y)满足gcd(x,y)==k。给你的时间是 3000 MS。 0 < a <= b
2017-08-21 19:54:00
269
原创 莫比乌斯函数-BZOJ2440
其实这是我在某个莫比乌斯反演的PPT里看到的,但是这个题不是反演只是个莫比乌斯函数的应用。 具体做法是二分答案。 只需要一个小小的check函数来判断当前二分到的答案是否比k大或小即可。 手动模拟了一下发现某个规律 对于一个数t,t以内的数里的非完全平方数倍数的个数 num=1的倍数的数量−一个质数平方数(9,25,49…)的倍数的数量+两个质数的积平方数(36,100,225…
2017-08-21 13:48:16
303
转载 阶梯博弈-HDU3389
其实这道题不难,不要理解错了就行,就像我一开是把题目中的A,B理解成盒子中卡片的数量了,就直接做不出来了,所以由此可见,认真读题是多么的重要!!! 1 3 4号盒子是不能够再转移卡片到其他盒子中去了的,其他盒子中的卡片经过若干步的转移最终也一定会转移到1 3 4号盒子中去。具体来说,n % 6 == 0 或 2 或 5的盒子,经过奇数步转移到1 3 4中去,其他的则须经过偶数步才能转移过去。下面来
2017-08-18 10:54:08
264
转载 阶梯博弈
今天在POJ做了一道博弈题..进而了解到了阶梯博弈…下面阐述一下我对于阶梯博弈的理解..首先是对阶梯博弈的阐述…博弈在一列阶梯上进行…每个阶梯上放着自然数个点..两个人进行阶梯博弈…每一步则是将一个集体上的若干个点( >=1 )移到前面去..最后没有点可以移动的人输.. 如这就是一个阶梯博弈的初始状态 2 1 3 2 4 … 只能把后面的点往前面放…如何来分析这个问题呢…其实阶梯博弈经过转换可以
2017-08-17 22:04:23
271
原创 阶梯博弈-HDU4315
https://vj.xtuacm.cf/contest/view.action?cid=125#rank参考:http://blog.youkuaiyun.com/shahdza/article/details/7858032题意:有n个人爬山,山顶坐标为0,其他人按升序给出,不同的坐标只能容纳一个人(山顶不限),Alice和Bob轮流选择一个人让他移动任意步,但不能越过前面的人,且不能和前面一个人在相同的位
2017-08-17 22:00:45
305
原创 组合数+二项式反演(容斥)-UVALive - 7040
题意:t组数据,每组给定n,m,k。有n个格子,m种颜色,要求把每个格子涂上颜色且正好适用k种颜色且相邻的格子颜色不同,求一共有多少种方案,结果对1e9+7取余。二项式反演(重点)设g(i)表示正好有i个颜色涂格子那么全部的C(n, i)*g(i)加起来正好就是所有涂格子的情况,总共n!种情况n! = Σ C(n, i)*g(i) (i从0到n)那么f(n) = n!,所以f(x) = x!那么我们
2017-08-17 13:10:27
406
原创 博弈规律-HDU4642
题目: http://acm.hdu.edu.cn/showproblem.php?pid=4642题意: 给你一个n*m的矩阵,上面有正面或者反面的棋子, 每一次只能选(x,y)正面的棋子进行翻转, 区域(x,y)-(n,m) 中的棋子都会被翻转. A,B一块玩, A先,最后要使得所有的棋子都是反面的. 求出谁会赢得比赛.思路: 博弈. 因为每一次翻转都会翻到格子(n,m), 最后要使得所
2017-08-16 21:36:22
211
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人