基础&算法
基础
X. Zhou
这个作者很懒,什么都没留下…
展开
-
实现python和c++完全一致的随机数
简单记录下,背景是在c++场景下做的一个功能需要用python做一下复现,其中有一个根据固定输入的哈希值作为种子取随机数(0-1之间的小数)的操作,需要python和c++保持完全一致。做法如下:保证哈希是一致的可以c++和python都是用cityhash64算法保证随机数算法是一致的,python的random算法用的是梅森旋转算法(用np.random.rand(),用random.random()生成的和c++对不上。。),c++也用对应的,std::mt19937。python原创 2022-05-18 01:39:42 · 951 阅读 · 0 评论 -
Git团队开发快速操作
文章目录项目位于master分支项目位于非master分支项目位于master分支 项目位于非master分支clone代码到本地:git clone xxxclone下来的是master分支,查看所有分支git branch -a找到远程分支,一般是remotes/origin开头的,例如remotes/origin/test切换到该分支 git checkout remotes/origin/test会提示你需要新建一个原创 2022-02-07 14:45:45 · 724 阅读 · 0 评论 -
粗谈AUC计算方式
先占个位置REFhttps://www.jianshu.com/p/f9f8e29abbe0原创 2021-11-23 15:54:39 · 292 阅读 · 0 评论 -
给定数字N,输出小于10^N的所有整数
讲起来比较简单,从0到N遍历输出就行了,但是如果N非常大,就涉及整数溢出问题,很明显是一个全排列问题,也就是输出N,代表N位上所有的数字取值是0-9,做一个全排列,还需要考虑的就是对于0001,0068,0977类似这种前面有0的情况输出的时候需要去除掉。就是一个基础的递归求全排列问题,当然也可以不用递归用栈来解决,这里给出了一个递归的java版本。public class Tes...原创 2019-08-23 19:55:00 · 224 阅读 · 0 评论 -
python在算法题中判断输入结束(EOF)
有些算法题是这样要求的,一行输入一行数据,然后没有规定我要输入多少行,你要自行判断文件结束EOF,否则是会runtime error的,因为oj内部都是用文件来进行读写的。例如a+b,每一行输入a b,计算a+b的结果。一般这种嘛,c/c++很简单了,就是scanf判断一下!=EOF就完事了,但是python中没有这种操作,需要另外的操作。这里介绍一些目前我掌握的有三种方法:用异常...原创 2019-07-01 14:42:00 · 2847 阅读 · 0 评论 -
python 多分类任务中按照类别分层采样
在机器学习多分类任务中有时候需要针对类别进行分层采样,比如说类别不均衡的数据,这时候随机采样会造成训练集、验证集、测试集中不同类别的数据比例不一样,这是会在一定程度上影响分类器的性能的,这时候就需要进行分层采样保证训练集、验证集、测试集中每一个类别的数据比例差不多持平。下面python代码。# 将数据按照类别进行分层划分def save_file_stratified(filen...原创 2019-07-01 14:40:00 · 725 阅读 · 0 评论 -
java 操作格子问题(线段树)
很久之前做过线段树的问题(操作格子),时间长了之后再次接触到,发现当初理解的不是很透彻,然后代码冗长,再遇到的时候发现自己甚至不能独立地完成这个问题。 所以算法这个东西啊, 第一,是要经常练习(我个人认为…每一个程序员都不应该不擅长算法…从今天开始,要常写博客!)。 第二,是一定要理解透彻,理解透彻并不是说到网上找到了解答,然后自己照着能够运行出来,这样是不够的!甚至不是说...原创 2017-05-26 22:35:00 · 140 阅读 · 0 评论 -
Java一点输入输出技巧
输入:格式1:Scanner sc = new Scanner(System.in);格式2:Scanner sc = new Scanner(new BufferedInputStream(System.in));数据量大时,格式2更快。Split方法:String str = scanner.next();String[] date = str.split("/");S...原创 2017-05-26 22:22:00 · 79 阅读 · 0 评论 -
分酒问题(DFS解法)
题目大概是这样:已知有三个容量分别为3千克、5千克和8千克的并且是没有刻度的酒瓶,3千克和5千克的瓶子均装满了酒,而8千克的瓶子为空。现要求仅用这三个酒瓶将这些酒均分为两个4千克并分别装入5千克和8千克的瓶子中。题解:可以扩展为有n个瓶子,每个瓶子当前装了x1,x2,x3…xn的酒,每个瓶子的上限是y1,y2,…yn,目标状态是每个瓶子d1,d2,…dn,现在要从当前状态转换到目标...原创 2017-05-07 20:45:00 · 461 阅读 · 0 评论 -
关于C++中vector和set使用sort方法进行排序
C++中vector和set都是非常方便的容器,sort方法是algorithm头文件里的一个标准函数,能进行高效的排序,默认是按元素从小到大排序将sort方法用到vector和set中能实现多种符合自己需求的排序首先sort方法可以对静态的数组进行排序1 #include<iostream>2 using namespace std;3 int main(){...原创 2016-06-04 00:31:00 · 390 阅读 · 0 评论 -
L2-006.树的遍历
给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。输入格式:输入第一行给出一个正整数N(<=30),是二叉树中结点的个数。第二行给出其后序遍历序列。第三行给出其中序遍历序列。数字间以空格分隔。输出格式:在一行中输出该树的层序遍历的序列。数字间以1个空格分隔,行首尾不得有多余空格。输入样例:72 3 1 5 7 6 41 2 3...原创 2016-06-02 23:50:00 · 78 阅读 · 0 评论 -
L2-2. 链表去重
L2-2. 链表去重时间限制300 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越给定一个带整数键值的单链表L,本题要求你编写程序,删除那些键值的绝对值有重复的结点。即对任意键值K,只有键值或其绝对值等于K的第一个结点可以被保留。同时,所有被删除的结点必须被保存在另外一个链表中。例如:另L为21→-15→-15→-7→15,则你必须输出去重后的链表...原创 2016-06-02 00:17:00 · 92 阅读 · 0 评论 -
蓝桥杯-算法训练--ALGO-8 操作格子
问题描述有n个格子,从左到右放成一排,编号为1-n。共有m次操作,有3种操作类型:1.修改一个格子的权值,2.求连续一段格子权值和,3.求连续一段格子的最大值。对于每个2、3操作输出你所求出的结果。输入格式第一行2个整数n,m。接下来一行n个整数表示n个格子的初始权值。接下来m行,每行3个整数p,x,y,p表示操作类型,p=1时表示修改格子x的权值为y,p=2时表示求...原创 2016-03-21 11:13:00 · 87 阅读 · 0 评论 -
蓝桥杯-算法训练--ALGO-6 安慰奶牛
问题描述Farmer John变得非常懒,他不想再继续维护供奶牛之间供通行的道路。道路被用来连接N个牧场,牧场被连续地编号为1到N。每一个牧场都是一个奶牛的家。FJ计划除去P条道路中尽可能多的道路,但是还要保持牧场之间 的连通性。你首先要决定那些道路是需要保留的N-1条道路。第j条双向道路连接了牧场Sj和Ej(1 <= Sj <= N; 1 <= Ej <= N;...原创 2016-03-21 11:04:00 · 120 阅读 · 0 评论 -
蓝桥杯-算法训练--ALGO-5 最短路
问题描述给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环)。请你计算从1号点到其他点的最短路(顶点从1到n编号)。输入格式第一行两个整数n, m。接下来的m行,每行有三个整数u, v, l,表示u到v有一条长度为l的边。输出格式共n-1行,第i行表示1号点到i+1号点的最短路。样例输入3 31 2 -12 3 -13 1 2样例输出-1-...原创 2016-03-13 20:23:00 · 104 阅读 · 0 评论 -
蓝桥杯-算法训练--ALGO-4 结点选择
本人是一个刚刚接触C++不久的傻学生~记录一些自己的学习过程。大神路过可以批评指正~刚学动态规划,水平还很渣,一下子不知道从何下手,借鉴了一下这位大哥的文章http://www.cnblogs.com/yifan2016/p/5268887.html问题描述有一棵 n 个节点的树,树上每个节点都有一个正整数权值。如果一个点被选择了,那么在树上和它相邻的点都不能被选择。求选出的...原创 2016-03-13 00:34:00 · 101 阅读 · 0 评论