- 博客(59)
- 收藏
- 关注
原创 Codeforces Round #708 (Div. 2) E2. Square-free division (hard version)
Codeforces Round #708 (Div. 2) E2. Square-free division (hard version)题意长度为n的数组,可以修改k次,然后切分成多个数组,每个数组满足任意两个数相乘不是一个平方数题解满足相乘不是平方,就需要对每个数做质因子分解,这块需要优化,否则会T,具体看代码理解吧修改k次就需要dp,因为k最大20,所以可以维护一个相同数字下标的队列,从大到小,最多21个数,表示需要修改的数字,然后dp有看博客说时间复杂度是 n*k*k 的,
2021-03-25 20:35:42 201 1
原创 hadoop+hbase+spark总结
hadoop+hbase+spark搭建hadoop安装:前期准备:1.host配置和主机名2.安装jdk3.免密ssh登录Hadoop搭建参考1.在master上解压安装包#下载wget http://apache.claz.org/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz#解压tar -xzvf hadoop-2.7....
2019-03-15 20:45:17 617 2
原创 Ubuntu 18.04 小白入门经验
Ubuntu 18.04的经验这两天想换Linux系统,所以就尝试了一下,先是装了Linux Mint 19,体验不佳,然后就换了Ubuntu 18.04,感觉还不错,但是看见了Deepin 15,心动了,就准备装个试试,在这之前记录一下经验。 看网上说Linux Mint 19很好,我就装了,界面什么的还确实不错,挺顺眼的,只是用着有些不太顺,和Ubuntu 一样输入法就搞了挺久,装个搜狗...
2018-12-27 22:09:40 19076 2
原创 11月贝壳实习总结
11月贝壳实习总结距离上一次已经一个多月了,这期间我主要负责一个日志清洗的项目,然后空余时间看了很多的其他的东西项目说明简述安排给我的是一个日志清洗的任务,就是把日志表中的内容按照需求解析提取出来,然后保存到数据库中,然后提供一个接口供查询,过程还时比较简单的。虽然项目比较简单无脑,但是还是挺有用的,我学习了很多东西。首先是日志表,公司用的是hive,这个前面看过一些,然后我用的是pyt...
2018-12-09 19:24:41 10669
原创 2018.10.19 hive
Hive: 使用hive cli,只是执行sql语句,并未使用其他的功能,暂时用不上;具体操作了查看数据库、表,使用数据库,查询表,查看表的定义,速度很慢,只是简单的使用。 阅读以前的获取数据的脚本,理解功能,主要就是查询各个表保存到文件中,再使用sed加上表头,虽然很长,但是意思是一样的;其中关于使用—hiveconf设置hive并不明白什么意思,好...
2018-10-19 18:14:56 120
原创 2018.10.18 virtualenv,pyhs2
virtualenv; virtualenv是管理虚拟环境的一个工具,可以为每个项目创建一个虚拟环境,互不干扰。 在项目文件夹下运行virtualenv name(name是虚拟环境的名字,自己取),然后就会创建一个名字为name的虚拟环境,可以加参数设定虚拟环境的配置,如–system-site-packages使用系统环境中的软件包,-p /usr/b...
2018-10-19 17:37:36 188
原创 2018.10.17 HDFS,Hive,HBase,MongoDB,Redis,ES
HDFS: Hadoop 的分布式文件系统称为 HDFS,它是为以流式数据访问模式存储超大文件而设计的文件系统。 HDFS适合:存储并管理PB级数据 处理非结构化数据 注重数据处理的吞吐量 应用模式为:一次写多次读不适合:存储小文件 大量的随机度 需要修改文件 Hive:Hive是一个构建与Hadoop顶层的数据仓库工具,可以查...
2018-10-18 15:29:32 2071
原创 2018.10.16 awk,sed,grep,ps,top,vim
巩固练习awk,sed,grep:找了一些相关的练习,通过练习发现问题,从而进行巩固和熟悉。 awk包含正则表达式的元字符,同时也能匹配原本的元字符;sed不包含元字符,使用元字符需要加\;grep和sed一样没有元字符;egrep是grep+元字符,但是不能匹配原本的元字符。 正则表达式:正则表达式主要就是记住元字符,然后组合使用达到不同的效果;元字符的数量不是特...
2018-10-18 15:25:32 248
原创 2018.10.15 awk,sed,grep
1.awk继续学习awk的语法规则,各种运算符,高级的输入输出,流程控制,数组,字符串以及内置函数。之后还找了一些小作业,目前对于awk感觉比较理解了,基本的筛选、提取信息,流程控制,对数据的简单处理都没有问题。 2.sedSed是一种流编辑器,结合正则表达式,功能强大。参数:-n只显示处理后的结果;-f读取脚本文件;-e多点编辑,合并多条命令。主要动作:a在当前行之后新增...
2018-10-18 15:24:13 132
原创 2018.10.12 shell,awk
Shell今天主要在看Shell,基本的语法都过了一遍,个人感觉语法较为简单,没有很复杂的内容,只是有很多不一样的地方。 变量,数组,字符串很灵活,相对简单。不能直接运算,算数运算需要`expr`或者$()包住,关系、布尔运算用[]包住,符号也不一样,没有大于和小于号,而是用字母替换;还多了有文件的运算,很多也记不全。还有需要注意空格 可以替换也是一大特点,变量和...
2018-10-18 15:23:06 229
原创 2018.10.11 数据库+linux指令
2018.10.11 实习学习记录(只是记录每天的学习情况,也是汇报)1.数据库方面:数据库有关系型数据库、非关系型数据库he键值数据库三种类型。关系型数据库是数据存储的传统标准,根据实体联系在表中存储,数据标准化,通过SQL操作。文档数据库是一种NoSQL数据库,将半结构化数据存储为文档,直接保存,更加灵活,高并发性,不便查询。分布式数据库是用计算机网络将物理上分散的多个数据库单元连...
2018-10-18 15:20:45 144
原创 2018 ICPC青岛网络赛 B. Red Black Tree (lca)
题意给你一棵树,有m个结点是红色的,其中根1肯定是红色的,其他结点的权重是到祖先的红色结点的距离,q个询问,每次问k个结点,在修改树上一个点为红色的情况下,这k个点的最大的权重的最小值,每次询问相互独立 题解首先一个dfs求出每个点的权重,以及lca所需的东西,对于每个询问,按照权重排序,把权重从大到小的合并起来,将他们的共同的lca染成红色,也就是把这些大的用新的红点去更新权重,...
2018-09-23 22:05:59 539
原创 2018 Multi-University Training Contest 9 杭电多校第九场
1001 Rikka with Nash Equilibrium可以dp,也可以找规律#include<bits/stdc++.h>#define N 100005#define P pair<int,int>using namespace std;typedef long long ll;const int M=1e9+7;const int inf...
2018-08-20 21:32:45 355
转载 牛客网暑期ACM多校训练营(第十场)D Rikka with Prefix Sum (组合数学)
原址:https://blog.csdn.net/acterminate/article/details/81840113题意给一个数组a,一开始的值全为0。一共有三个操作: 1. 对区间[L,R]的每个数都加上w。 2. 将数组a用其前缀和数组代替。 3. 将询问区间[L,R]的区间和。题解首先我们可以知道假如对一个点进行+1的操作,那么做s次前缀和之后的结果为: 那么假...
2018-08-19 19:15:55 566
原创 2018 Multi-University Training Contest 8 6397 Character Encoding(数学)
题意给你k,用m个0到n-1的数字构成k的方案数题解代码#include<bits/stdc++.h>#define N 200005#define P pair<int,int>using namespace std;typedef long long ll;const int M=998244353;const int inf=1e9+...
2018-08-15 22:04:09 153
原创 2018 Multi-University Training Contest 5 HDU 6356 Glad You Came(线段树)
题意给你n个数(随机计算得到),有m次修改,每次修改区间L,R,将这个区间内所有小于v(随机val)的值修改为v,求最后i*a[i]的异或和。题解通过线段树记录区间最小值,假如当前区间最小值大于等于v的话就递归修改了,否则对当前区间打更新标记。复杂度是O(nlogn),由于查询数很大,但是是随机数,所以可以确定总的复杂度不会到达O(nlogn)。代码#include<b...
2018-08-07 10:03:37 179
原创 牛客网暑期ACM多校训练营(第五场)H subseq(树状数组)
题意给定一个序列 a[1..n],求下标字典序第 k 小的严格递增子序列题解考虑逐位确定,每次计算 a[i…n] 中,以a[i]这个数字为开头的严格递增子序列的个数,用树状数组统计,然后1…n与k比较,小于k就减去dp[i],否则就放a[i],当然要保证a[i]大于前一个放的数;这个树状数组和以前的不太一样,是记录大于等于x的数量,与一般的是倒过来的,虽然有些意外不过想了想确实是,以前...
2018-08-03 13:22:36 403 2
原创 2018 Multi-University Training Contest 4
6333 Problem B. Harvest of Apples(莫队)题意求C(n,m)到C(n,0)的求和 题解S(n,m)=S(n,m-1)+C(n,m)=S(n-1,m)*2-C(n-1,m)(后面一个根据C(n,m)递推式展开就知道了),由此我们可以用莫队实现,O(1)转移 代码#include<stdio.h>#include<...
2018-08-01 20:16:28 400 3
原创 2018 Multi-University Training Contest 4 6341 Problem J. Let Sudoku Rotate(搜索)
题意给你一个16*16的数独,每次可以选择一个4*4的方格逆时针选择一次,并且只能是题目中要求的方格,问转成一个合理的数独的最小步数 题解深搜,剪纸,枚举每一个方格旋转了几次,只统计已经枚举过的方格,在旋转的同时判断是不是合法,记录步数 代码#include<bits/stdc++.h>#define N 100005#define P pair<...
2018-08-01 20:05:44 231
原创 2018 Multi-University Training Contest 3 hdu 6321 Problem C. Dynamic Graph Matching(状压)
题意给定一个 n 个点的无向图,m 次加边或者删边操作。在每次操作后统计有多少个匹配包含 k = 1, 2, ..., n/2 条边。 题解状压表示当前用了那些点,加边就是dp[i|(1<<x)|(1<<y)]+=dp[i];减边就是减去dp[i] 代码#include<bits/stdc++.h>#define N 1000...
2018-07-31 14:35:10 139
原创 2018 Multi-University Training Contest 3 hdu 6319 Problem A. Ascending Rating(单调栈)
题意给定一个序列 a[1..n],对于每个长度为 m 的连续子区间,求出区间 a 的最大值以及从左往右扫描该区间时 a 的最大值的变化次数。 题解滑动窗口,从左到右,维护一个单调栈,从小到大 代码#include<stdio.h>#include<deque>#include<stack>#include<iostrea...
2018-07-31 14:26:09 150
原创 2018 Multi-University Training Contest 3 hdu 6327 Problem I. Random Sequence(dp)
题意一个数组a,一个数组v,求v[gcd(ai,ai+1,ai+2,ai+3)]的求和,a中会有0,表示可以取1~m,求最后的期望 题解设 f[i][x][y][z] 表示考虑前 i 个位置,ai = x, gcd(ai, ai-1) = y, gcd(ai, ai-1, ai-2) = z 的期望。枚举 ai+1 的值转移即可,显然合法状态中 y|x, z|y,当 m = 100...
2018-07-31 14:19:26 222
原创 bzoj 3884 上帝与集合的正确用法 Codeforces 906D:Power Tower (扩展欧拉定理)
扩展欧拉定理 AC代码bzoj 3884#include<bits/stdc++.h>#define N 2000005#define P pair<int,int>using namespace std;typedef long long ll;const int M=1e9+7;const int MM=1e9+6;const int...
2018-07-29 13:36:32 246
原创 牛客网暑期ACM多校训练营(第四场)A.Ternary String(扩展欧拉定理)
题意每秒钟2后面加一个1,1后面加1个0,然后删除第一个字符,问需要多少秒才能删完题解可以发现:0会使答案加1,1会使答案T*2+2,2会使答案T变成(2^(T+1)-1)*3,所以一边计算即可,但是由于要取模,所以需要扩展欧拉定理,证明转载自http://blog.csdn.net/synapse7/article/details/19610361,我也就不在这说了,自己也不太懂;考...
2018-07-28 19:06:26 195
转载 牛客网暑期ACM多校训练营(第四场)J. Hash Function [线段树+拓扑排序]
题意给你一个对a数组hash之后的hash表,求原来的a数组字典序最小的解。题解对于hash表中当前这个数hi,若hi%n!=i的话,说明当前这个数是后移过的,那么说明在hi后移的这一段数必须在hi之前放入才能让hi在i这个位置,所以这就是一个拓扑排序。假如我们暴力建图,那么肯定会TLE。所以我们用线段树优化建图,对于当前这个点,他位移的那段区间,找到在线段树上的映射,将这些子区间的点...
2018-07-28 18:58:00 254
原创 2018 Multi-University Training Contest hdu 6313 Hack It(构造)
题意改造一组样例,使之复杂度超过n^2,并且不存在一个四个角为1的矩形 题解神奇的构造,并不懂 代码#include<bits/stdc++.h>#define N 100005#define P pair<int,int>using namespace std;typedef long long ll;const int M=1e9...
2018-07-25 20:44:16 210
原创 2018 Multi-University Training Contest hdu 6315 Naive Operations(线段树)
题意有两个数列a和b,a的初始值为0,b数组是1~n的一个排列,有两个操作: 1. 将a数组区间[l,r]的每个数+1。 2. 输出Σa[i]/b[i](l<=i<=r)Σa[i]/b[i](l<=i<=r)。题解由于操作数一共10^5,所以对于每一个位置i的贡献,我们顶多更新n/b[i]次,所以总的更新次数是n*log(n),我们通过线段树进行区间所缺数最...
2018-07-25 19:25:17 141
原创 2018 Multi-University Training Contest 1 hdu 6304 Chiaki Sequence Revisited(规律?数学?)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6304题意:看一眼就懂了 做法:找规律,每个数出现的次数k,满足以2^k差为2^k+1的等差数列,然后就可以了,然后正解是差分,阿贝尔变换,本人不会 代码#include<bits/stdc++.h>#define N 100005#define P pair&...
2018-07-23 20:49:22 243
原创 2018 Multi-University Training Contest 1 hdu 6299 Balanced Sequence(贪心)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6299 题意:n个'('和 ')'和串,任意排列的拼接中最长的子序列,满足括号匹配的最大长度做法:把每个串做一个匹配,最后会有1. 只包含’(’ 2. 先是一串’)’然后再是一串’(’ 3. 只包含’)’ 我们只需要记一下第一种和第三种的总长度,对第二种进行排序(重点),把这一类...
2018-07-23 20:42:18 196
转载 2018牛客网暑期ACM多校训练营(第一场)F.Sum of Maximum(组合数学+拉格朗日插值)
题目链接:https://www.nowcoder.com/acm/contest/139#question转载出处:http://tokitsukaze.live/2018/07/19/2018niuke1.F/ 代码:#include <bits/stdc++.h>using namespace std;#pragma comment(linker, "/...
2018-07-22 14:59:13 339
原创 牛客网暑期ACM多校训练营(第二场)G transform
题目大意:数轴上有n个集装箱,第i个集装箱位于坐标x[i],有a[i]件货物。现在要把集装箱进行一些移动,求在所有货物移动总距离不超过T的情况下,最多能把多少个集装箱移动到同一个位置 做法:因为我们要让货物移动总距离尽可能小,所以最后所使用的集装箱的初始位置在数轴上一定是一段区间。如果固定了这个区间,那么最优方案就是把这些集装箱移动到这些集装箱的坐标中位数的位置。答案满足可二分性,先二分...
2018-07-22 14:39:38 326
原创 可持久化Trie树
typedef long long ll;struct node{ int next[N][26],L,root[N],time; ll c[N]; int newnode(int x){ L++; for(int i=0;i<26;i++) next[L][i]=next[x][i]; c[L]=c[x]; ...
2018-05-15 13:57:04 911
转载 神经网络 课后作业
import timeimport numpy as npimport matplotlib.pyplot as pltfrom PIL import Imagefrom dnn_app_utils_v2 import *plt.rcParams['figure.figsize'] = (5.0, 4.0) # set default size of plotsplt.rcParam
2018-04-24 21:27:44 445
转载 相似图片搜索的原理
具体内容可以看:点击打开链接我自己写的代码:import osfrom PIL import Imagefrom functools import reduceimport matplotlib.pyplot as plt # plt 用于显示图片#分割图片def splitimage(src, rownum, colnum): img = Image.open
2018-04-16 20:52:47 308
原创 Gym 101505C Cable Connection
题意:给你n个点,找一条线段,所有的点都在线段的一侧,斜率为负,线段的长度最小题解:三分斜率代码:#include#define N 1000005#define P pairusing namespace std;typedef long long ll;const double eps=1e-8;int n,x[N],y[N];double get(doubl
2018-02-09 18:32:44 248
原创 Gym 101505F Tree Stands
题意:给你一棵树,k个人,每颗树上只能安排一个人,每个人必须有另一个人相邻,问所有的方案总数。题解:树形dp,三维的dp数组dp[i][j][3],前两维表示i的根数中站了j个人,0表示不站人的合法状态,1表示站人但是不合法状态,2表示站人的合法状态,然后就是一个dfs加dp代码:#include#define N 205#define P pairusing names
2018-02-09 18:29:40 264
原创 Gym 101484D Joaozao, The Digit Maker
D. Joaozao, The Digit Makertime limit per test2.0 smemory limit per test256 MBinputstandard inputoutputstandard outputJoaozao is a famous digit maker in the cit
2018-02-08 17:48:26 330
原创 Gym 101158I Skinny Polygon
题意:给你一个矩形,有一个多边形,矩形的每条边上至少有一个多边形的顶点,求这个多边形的最小的面积下的多边形的顶点数和顶点坐标题解:队友YY出来的,数学和想法题,有两种情况第一种是三角形,这个很容易想到,然后最小的话就是(x,y)到对角线的距离最小,bx-ay的最小值是gcd(a,b),用扩展欧几里得求解,然后就可以求出答案了(虽然我也不太明白),还有就是要判断一下gcd是不
2018-02-03 08:48:27 432
原创 Gym 101158J Cover the Polygon with Your Disk(模拟退火)
题意:给一个凸多边形,一个半径为r的圆,圆心任意,求圆与多边形的最大的相交的面积题解:模拟退火,计算几何模板计算圆与多边形的相交面积,模仿好几个写法的模拟退火都不行,看了Acdreamer的一发就A了 代码: #include<bits/stdc++.h>#define N 100005#define P pair<int,int>using n...
2018-02-03 08:31:38 405
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人