- 博客(17)
- 收藏
- 关注
翻译 如何优雅地构建python包结构与执行python脚本
本文主要总结楼主在平常python代码构建中遇到的python包结构无法找到的一些问题,最近看了一些相关文档,将其中一些琐碎知识汇总而成。万恶之源你是否对ImportError: No module named 'local'感到无比的熟悉?Demo Project一个简单python项目的文件结构示例 foo/main.pyimport sysif _...
2018-04-18 23:05:07 2720 1
原创 csr_matrix(Compressed Sparse Row matrix)存储模式浅析
压缩稀疏矩阵的某种存储方式(开始不是很懂,后来发现网上解释的也不是很清楚,故来解释一发。以下为官方的例子)此处官方文档介绍传送门>>> indptr = np.array([0, 2, 3, 6])>>> indices = np.array([0, 2, 2, 0, 1, 2])>>> data = np.array([1, 2, 3, 4, 5, 6])>>> csr_m
2016-08-14 11:05:30 4568 5
原创 寻找超过一半的数字(编程之美)
寻找超过一半的数字问题一:给定一个数组,该数组中存在一个数字的出现次数超过整个数组的一半,比如{1, 2, 2, 3, 2}中的2,要求这个数字。解法一:基本思路就是排序,然后arr[n / 2]即为所求,复杂度O(nlgn)。#define FOR(i, x, y) for(int i = x; i <= y; i ++)int main(){ #ifndef
2016-03-21 16:29:06 10348
原创 阶乘的一些规律(编程之美)
问题一:N!末尾有多少个0?问题二:N!二进制表示中最低位1的位置?首先来介绍几个要点和规律:n! = n(n - 1)! (n > 0) n! = 1 (n = 0) 这里注意不要忘了问题一等价转化 N! 的质因数中有多少个10问题二等价转化 N! 的质因数中有多少个2我们首先介绍一个公式:N! 中一共有多少个素因子
2016-03-21 14:17:19 2975
原创 求二进制中1的个数(编程之美)
求二进制中1的个数:解法一:O(logn)int solve(int data){ int cnt = 0; while(data){ if(data & 1) cnt ++; data = data >> 1; } return cnt;}解法二:O(M) M为1的个数int solve(int data){
2016-03-20 20:41:46 348
原创 KK's Number
问题描述: 我们可爱的KK有一个有趣的数学游戏: 这个游戏需要两个人,有N(1≤N≤5∗104)N\left(1\leq N\leq 5*{10}^{4} \right)个数,每次KK都会先拿数。 每次可以拿任意多个数,直到NN个数被拿完。每次获得的得分为取的数中的最小值,KK和对手的策略都是尽可能使得自己的得分减去对手的得分更大。 在这样的情况下,最终KK
2016-02-10 16:40:54 557
原创 STL map浅析
template , class Allocator = allocator > > class map;一般大家也都是比较关心Key, T, cmp三个值得用法吧。前两个不用多说,大家应该都知道,一个是key值,一个是映射值,我这里就主要讲cmp的用法了。首先它是一个struct 或者 class 的东西。里面只是重载了一个函数(因为重载圆括号运
2016-02-06 11:49:51 355
原创 文章标题
素数欧拉筛法O(n) FOR(i, 2, n){ if(! check[i]) prime[tot ++] = i; FOR(j, 0, tot - 1){ if(i * prime[j] > n) break; check[i * prime[j]] = 1;//筛法筛除元素
2016-01-25 17:05:06 256
原创 博弈知识汇总
(一)巴什博奕(Bash Game): 只有一堆n个物品,两个人轮流从这堆物品中取物, 规定每次至少取一个,最多取m个。最后取光者得胜。 显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜。因此我们发现了如何取胜的法则:如果n=(m+1)r+s,(r为任意自然数,s≤m)
2015-12-07 15:36:50 282
原创 大数java来一波
java大数计算学了java许久不用,感觉也是忘的差不多了,今天来复习一波简单的java用法吧;1.交oj时注意class名称必须用Main2.输入sc = new Scanner(System.in) ,sc. hasNext() // 检测是否运行到文件末尾nextInt(), nextDouble()什么的就不用我多说了吧。3.BigInteger类BigIn
2015-11-26 15:46:07 370
原创 LIS
LIS(最长上升子序列,poj2533)子问题:dp[k] :a[k]为结尾的最长上升子序列 dp[k] = for(i = 1 : k-1) dp[k] = max(dp[k], dp[i] + 1) ;初始化 : memset(dp, 0 ,sizeof(dp))#include#include#include#include#include#
2015-11-26 13:15:09 609
原创 电脑显示屏的性能,价位初步研究
重要性能指标:面板类型(NT,IPS,WAV,PLS,PVA):NT:总体来说就两个字 —— 廉价,可视角度太小了,一般只有140°,色彩显示、还原效果不佳(一般是16.2M色彩,现在其他面板大部分是16.7M色彩),唯一的优势可能就是响应时间一般都稍短,不过一分钱一分货,理解就好。(如果没有其他亮点的话,24寸一般市场价格600-900吧)MAV / PLS:一般是中端产品啦,WAV
2015-11-24 15:12:22 1075
原创 scanf 与 gets HDU1062
scanf("%s", s);输入时忽略开头的空格与回车,输入字符后, 结尾遇到空格,回车结束;gets(s);不忽略开头的空格与回车,遇到回车立即结束;#include#define FOR(i, x, y) for(int i = x; i <= y; i ++)#define FORD(i, y, x) for(int i = y; i >= x; i --)#defi
2015-11-08 19:08:34 311
原创 九度OJ-1019简单计算器
简单计算器题目描述: 读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值。输入: 测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整数和运算符之间用一个空格分隔。没有非法表达式。当一行中只有0时输入结束,相应的结果不要输出。输出: 对每个测试用例输出1行,即该表达式的值,精确到小数点后2
2015-11-08 18:48:57 351
原创 数论初步(一)
数论学习(一)素数筛法void get_prime(int n){ mset(visit, 0); cnt = 0; for(int i = 2; i <= n; i ++){ if(!visit[i]){ prime[cnt++] = i; for(int j = i * i; j <= n; j
2015-11-05 17:37:00 673
转载 bits/stdc++.h
做CF看见别人用这个函数,然后就能直接用vector,set,string那些函数了,摸不着头脑,感觉特神奇就百度了一下,才发现这个是C++版本升级,然后文件自带的,方便了程序员吧。不然每次都得敲那模板老长……使用和平常的头文件一样,如下:#includeusing namespace std;int main(){ int a,b; cin>>a>>b; c
2015-11-04 18:28:29 1057
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人