自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

nofuck的博客

尽管黑夜很长,但终究会天亮.

  • 博客(153)
  • 收藏
  • 关注

原创 R语言用naiveBayes进行预测时,predict显示 factor(0) Levels:

Run code:HouseVotes84 <- read.csv("xxxx.csv",header = T)HouseVotes84 <- HouseVotes84[-1]model <- naiveBayes(好瓜~ ., data = HouseVotes84)model$tablespred <- predict(model, HouseVotes84)print(pred)输出结果解决办法:把HouseVotes84$好瓜这一目标变量设置为因子型

2020-12-16 15:58:50 848

原创 Exception in thread “main“ org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path d

hadoop jar hadoop2.jar WordCountMapReduce hdfs://master:9000/input/test3.txt hdfs://master:9000/output120/12/01 21:38:00 INFO client.RMProxy: Connecting to ResourceManager at /192.168.136.128:803220/12/01 21:38:00 WARN mapreduce.JobResourceUploader: Had.

2020-12-01 22:08:50 2413 1

原创 hadoop学习篇

大牛翻译总的[大牛翻译系列]Hadoop(1)MapReduce 连接:重分区连接(Repartition join) [大牛翻译系列]Hadoop(2)MapReduce 连接:复制连接(Replication join)[大牛翻译系列]Hadoop(3)MapReduce 连接:半连接(Semi-join) [大牛翻译系列]Hadoop(4)MapReduce 连接:选择最佳连接策略[大牛翻译系列]Hadoop(5)MapReduce 排序:次排序(Secondary sort) [大牛翻译

2020-11-30 20:47:05 236

原创 最大值最小值算法(象棋博弈)

参考自:人工智能之博弈二、最大最小值方法象棋AI博弈算法(最大值最小值算法)主要思想其实就还是暴搜,不过可以在搜索阶段进行剪枝+优化。这个算法可以在竞赛中用于一些博弈题的打表,然后找规律。有这么一个博弈题:Take Apples然后就如何用这个算法进行打表。定义必赢态为先手必赢,必输态为先手必输。以下所说的必赢、必输都是对于先手而言。首先,如何找到一个必赢态,假设目前是先手要进行操作,可以有k种操作,只有k种操作中有一个必赢态,那么他肯定选这个必赢态就行选择,那么对于先手这个必赢态是如何

2020-11-30 19:18:13 4944

原创 Codeforces Round #683 (Div. 1, by Meet IT)C、Xor Tree

题意:给定n个数,需要对于每个数 aia_iai​ 找到其他的数 aja_jaj​ 使得 ai⊕aja_i⊕a_jai​⊕aj​最小。i,ji,ji,j连边,然后让你删除最少的点,使得最后的连边是一棵树。思路:nnn 个点,之间相连,肯定最多只有 n−1n-1n−1 条边,因为肯定会有一对数是异或最小的,所以不用考虑环,考虑怎样才能删更少的点在一个集合(树)。每个数找一个数让其异或更小,肯定是对于所有的数建一颗01trie,对于01树种的某个结点,假设其前面的位数都一致,它左右子树都有结点,那么它不能是

2020-11-20 14:52:17 720

原创 python爬虫查看CF上区域赛学校排名

一天需要知道之前的一次区域赛的排名,之前比赛的榜没了,看到cf的gym里有榜,但是没有学校排名,就准备自己写一下爬虫试试。然后就网上初步学习爬虫大概思路首先它页面估计都是动态生成的,所以不能直接用bs4获取源码,我是直接用selenium模拟访问,等到所有元素加载完成之后,用pagesource获取源码,然后用BeautifulSoup生成BeautifulSoup对象,在之后就一步一步获取元素(详情见代码)。但总感觉自己实现比较麻烦,不知道有没有更好的方法或者多级标签 下的元素(有些元素没有id、

2020-11-19 16:45:18 327

原创 hadoop各个版本下载链接

https://archive.apache.org/dist/hadoop/common/

2020-11-17 15:51:11 290

原创 Codeforces Round #680 1444A - Division

思路可以发现,当 ppp 不是 qqq 倍数的时候,答案就是 ppp,否则的话就需要找一找,那么对于 ppp 是 qqq 的倍数,相当于 ppp 包含了 qqq 的所有质因子。那么需要找一个 ppp 的因子,且 不能被 qqq 整除,且要最大。那么对于 qqq 质因数分解,得到如下形式 : q=p1k1∗p2k2...∗ptktq = p_1^{k_1}*p_2^{k_2}...*p_t^{k_t}q=p1k1​​∗p2k2​​...∗ptkt​​,显然 ppp 肯定包含这些质因数(次数),那么让 xx

2020-11-09 22:07:32 411

原创 牛客练习赛72 D、brz的函数

思路O(nnlogn)O(n\sqrt{n}logn)O(nn​logn)设函数 g(n) = ∑i=1n∑j=1nu(i∗j)\sum_{i=1}^n\sum_{j=1}^nu(i*j)∑i=1n​∑j=1n​u(i∗j)那么对于 g(n)=g(n−1)+2∗∑i=1nu(i∗n)g(n) = g(n-1) + 2*\sum_{i=1}^nu(i*n)g(n)=g(n−1)+2∗∑i=1n​u(i∗n)单独看式子 ∑i=1nu(i∗n)\sum_{i=1}^nu(i*n)∑i=1n​u(i∗n)

2020-11-07 19:54:05 246

原创 牛客练习赛72 C、brz的序列

C、brz的序列思路对于一个最终的状态,即这些数都没法在变小,它满足一个性质就是呈现一次函数的趋势(等差数列)。对于一个给定的序列,只有当区间的所有数都比最终的数大(除去首尾俩个数),才形成一次函数。那么求这些区间端点的过程其实 就是求凸包的过程。参考代码#pragma GCC optimize(2)#include<bits/stdc++.h>using namespace std;const int man = 1e6+10;#define IOS ios::sync_w

2020-11-07 12:53:09 256

原创 Codeforces Round #677 (Div. 3) F - Zero Remainder Sum()

题意给定 n∗mn*mn∗m 的矩阵,每一行可以最多可以选 m2\frac{m}{2}2m​ 个数,可以不选。要求选择的数的和为 kkk 的倍数,求和的最大值。思路范围都是 [1,70][1,70][1,70],很显然的一个dp,可以先对每一行跑一个dp,即dp[j][nn][k]表示前 jjj 个数选了 nnnnnn 个数,和的余数为 kkk 的和最大值。然后对于每一行,即就是一个分组背包,定义 dp2[i][k]dp2[i][k]dp2[i][k] 表示 前 iii 行余数和为 kkk 的和最

2020-11-06 17:17:02 134

原创 51nod1820 长城之旅

参考自gmh77思路引入2个结论。证明可参考上面博客链接。gcd⁡(k2i+1,k2j+1)=1,i!=j,k\gcd(k^{ 2 ^ i }+1,k ^ {2 ^ j }+ 1 ) = 1 , i != j ,kgcd(k2i+1,k2j+1)=1,i!=j,k 为偶数gcd⁡(k2i+1,k2j+1)=2,i!=j,k\gcd(k^{ 2 ^ i }+1,k ^ {2 ^ j }+ 1 ) = 2 , i != j ,kgcd(k2i+1,k2j+1)=2,i!=j,k 为奇数然后对

2020-11-04 16:54:57 177

原创 2020秦皇岛C、 Cameraman

思路很明显,alex在的位置肯定是bob的位置,因为这样形成的夹角才最大。然后枚举相邻的点,求一下之间的距离即可。#pragma GCC optimize(2)#include<bits/stdc++.h>using namespace std;const int man = 2e5+10;#define IOS ios::sync_with_stdio(0)#define ull unsigned ll#define uint unsigned#define pai pai

2020-10-24 12:02:36 226

原创 三套题对应题目

新生, 请注意这里! 我们给你们准备了一些入门题, 你们有两个月的时间来做. 我建议的是在做这些之前请先浏览下面这两个网站, 可能会对你有很大的帮助, 有什么不懂的在新生群里问就是了.https://www.zybuluo.com/Chobi15/note/572270https://www.zybuluo.com/Chobi15/note/572270这一套题比较基础,大家可以边学C语言边做着走,不会的题目可以搜题解,但是最好不要抄代码。下面题目链接都与开出来的题目相对应的,打开不了 VJ的可以

2020-10-19 13:23:06 1825 5

原创 ZeptoLab Code Rush 2015 F - Pudding Monsters 分治

题意可以转化一下:求区间max-min=R-L的区间个数。对于f(l,r) = f(l,m) + f(m+1,r) + 经过终点的区间 (m=(l+r)>>1)那么对于中间部分怎么求?无非4种情况:1)最值都在左边2)最小值在左边,最大值在右边3)最小值在右边,最大值在左边4)最值都在右边最值都在左边因为 max-min = R- L同时对应的 R = L + max - min对于m–>L,维护一个前缀的maxl,minl。对于m+1–>R,也维护一个前缀的m

2020-10-02 22:55:29 133

原创 吉首大学2019年程序设计竞赛 I滑稽树上滑稽果

题意相当于求 S(n,m)2n,S(n,m)=∑i=0mCni\frac{S(n,m)}{2^n},S(n,m) = \sum_{i=0}^mC_n^i2nS(n,m)​,S(n,m)=∑i=0m​Cni​但是共有T组数据,所以必须离线+预处理。然后对于这些询问,可以抽象为一个区间,考虑用莫队来维护。那么想要用莫队来维护,必须找到移动端点的表达式。//S(n,m+1) = S(n,m) + C(n,m+1) //S(n-1,m) = 2*S(n-1,m) - C(n-1,m)其余都是莫队板子,

2020-10-02 16:50:57 92 1

原创 ORA-65096 公用用户名或角色名无效

ORA-65096: invalid common user or role name(公用用户bai名或角色名无效)的错误原因是:用户想在duPDBORCL中创建newuser用户,却未设置会话container到zhiPDB,而在CDB中创建公dao有用户因无法通过名称或角色验证出错。解决方法:创建用户的时候用户名以c##或者C##开头即可。正确写法: create user c##zhaojiedi identified by oracle;链接...

2020-09-14 23:29:26 3232

原创 oracle安装报错[INS-30131]执行安装程序验证所需的初始设置失败(无法访问临时位置)解决方法!

在cmd中执行命令:切换到oracle的安装目录,执行命令:setup.exe -ignorePrereq -J"-Doracle.install.db.validate.supportedOSCheck=false"

2020-09-13 18:13:35 1079

原创 超级码力在线编程大赛初赛 第3场

A、最大公倍数是一个结论题吧。当 bbb 是奇数的时候,那么答案肯定是 b∗(b−1)∗(b−2)b*(b-1)*(b-2)b∗(b−1)∗(b−2),因为他们两两互质。然后当 b−a==2b-a==2b−a==2时,直接求一个lcm。否则就是偶数:偶数的话如果是3的倍数,答案就是(b−1)∗(b−2)∗(b−3)(b-1)*(b-2)*(b-3)(b−1)∗(b−2)∗(b−3),否则b-1,就变成奇数的情况了。class Solution {public: /** * @p

2020-09-05 13:28:01 1896 9

原创 超级码力在线编程大赛初赛 第1场

1.树木规划贪心的选最小的就是了。class Solution {public: /** * @param trees: the positions of trees. * @param d: the minimum beautiful interval. * @return: the minimum number of trees to remove to make trees beautiful. */ int treePlanning(ve

2020-08-29 17:19:39 358

原创 Educational Codeforces Round 93 (Rated for Div. 2) D. Colored Rectangles

一上来看完题目,这很贪心,马上写了发贪心,wa7!hack样例,当面临选择的数有两个相同,然后选择了某一个,可能后序的操作,得到的值不如选另一个数的价值大。1 2 2100 90 9090 301 2 2 10090 3090 90 所以正解该是dp,记录了每个状态的最优解。很容易想到状态 dp[i][j][z]dp[i][j][z]dp[i][j][z] 表示分别选择了 i,j,zi,j,zi,j,z 个棍子的最大价值。然后转移的话可以从 dp[i−1][j−1][z],dp[

2020-08-15 16:53:59 120

原创 牛客练习赛67 (A、B、C、D、E)

思路首先暴力建图肯定不行的,直接被卡死。那么想如何优化。首先我们可以按位操作,把32位看成点,然后对每个点拆点。即:对于第 iii 位(二进制) 有两个点,i1i_1i1​(入点)和 i2i_2i2​(出点) ,i1i_1i1​ 向 i2i_2i2​ 连一个边,边权为 2i2^i2i 。然后对于输入的 a[i]a[i]a[i],如果当前 a[i]a[i]a[i] 在第 xxx 位(二进制)是 111,那么这个点向 x1x_1x1​ 连一条边权为 000 的边,x2x_2x2​ 向该点连一条边权为

2020-08-15 14:39:09 221

原创 Codeforces Round #659 (Div. 2) C、String Transformation 1(思维+set)

思路:在相对应的位置,只要 aaa 串上的字母大于 bbb 串上的字母,那么无解,否则一定有解。要找到最小的步数,其实最大步数也就20吧。我们首先从小的开始选择字母,对于选定的字母,我们可以把它变成什么呢?选择的字母都有其要变成的值,我们让他们都变成要变成字母里的最小的一个,比如:aaa–>cdg,那么选择的字母是 ′a′'a'′a′,把它变成 ′c′'c'′c′ ,然后把其都变成 ′c′'c'′c′。具体实现使用 setsetset 来维护的,每个字母维护一个 setsetset,从小到大

2020-07-25 11:13:23 1457

原创 求Fibonacci数列的幂次和([HDU6755]Fibonacci Sum)

对于 c = 1,有类似原题原题链接首先需要知道fibonacci的通项公式:fn=15∗((1+52)n−(1−52)n)f_n = \frac{1}{\sqrt5}*((\frac{1+\sqrt5}{2})^n-(\frac{1-\sqrt5}{2})^n)fn​=5​1​∗((21+5​​)n−(21−5​​)n) 这里简化成fn=d∗(an−bn)f_n = d*(a^n-b^n)fn​=d∗(an−bn)然后对于原式子疯狂化简:∑i=0nfick\sum_{i=0}^{n}f_{ic.

2020-07-22 16:49:17 268

原创 Codeforces Round #656 (Div. 3) 部分题解(D、E、F)

[D. a-Good String](a-Good String)思路:很明显对于 ‘a’ ,有两种选择,在左区间和右区间,那么对于 ‘b’,‘c’,‘d’ 也同理。分析一下 ‘a’。如果’a’ 串 左区间全为 ‘a’ ,把其变为’a’ 的代价为 x ,那么右区间一定是 ‘b’ 串,把右区间变为’b’ 串的代价为 y(这里递归处理),其代价为 x+y。如果’a’ 串 右区间全为 ‘a’ ,把其变为’a’ 的代价为 z ,那么左区间一定是 ‘b’ 串,把左区间变为’b’ 串的代价为 f(这里递归处理

2020-07-18 15:18:09 370

原创 D. Berserk And Fireball(模拟)

题意:n个战士排成一排,分别有个武力值ai。你有两种法术,一个是火球(花费x个法力,消灭连续k个战士),一个是激怒(花费y个法力,选择相邻两个战士,武力值大的会消灭武力值小的)。求最后留下的战士排列成bi需要的最小法力花费思路:因为每个数都不同,所以肯定是划分成多个区间,对每个区间进行操作。1)1)1) 如果当前区间的长度 len<klen < klen<k :①区间最大值大于左右端点,那么无解。因为无法消去最大值。②区间最大值小于等于左右端点,消费就是 len∗ylen*yl

2020-07-16 15:25:49 329 2

原创 牛客算法周周练15 E、算式子

考虑如何快速得到每个 xxx 的答案。① [a[i]/x][a[i]/x][a[i]/x] ,对于某个 xxx ,如果 [va/x][va/x][va/x] 等于 k ,那么 va∈[k∗x,(k+1)∗x)va∈[k*x,(k+1)*x)va∈[k∗x,(k+1)∗x) ,所以我们可以处理出一段区间有多少个 a[i]a[i]a[i] (前缀和),然后用埃氏筛的思想进行统计答案,就能得到。② [x/a[i]][x/a[i]][x/a[i]],我们可以枚举 xxx 的因子,咋处理呢,对于 a[i]a[i

2020-07-15 10:46:04 163

原创 P4124 [CQOI2016]手机号码(数位dp)

记录状态,pos当前位置,pre前一个数,ppre前前一个数,f是否有连续三个相等,f4是否出现4,f8是否出现8。记忆化这些变量,保证状态不冲突,对于长度,因为固定了11位,所以不用记录了。还有就是很坑的就是,虽然题目范围保证了数据都是11位,但如果当 l=1010l = 10^{10}l=1010 ,l-1就只有10位了,所以必须得特判。code#pragma GCC optimize(2)#include<bits/stdc++.h>using namespace std;c

2020-07-14 16:54:53 207

转载 由快速排序到TopK

转载

2020-07-14 15:08:54 134

原创 牛客小白月赛16 J 小雨坐地铁(虚点+建图+最短路)

因为有中转站,所以不清楚从哪里来,状态不好记录(貌似可以开dis[i][j],表示在i号线到j点的最短路)所以对于每一个点建立一个虚点,然后对于每一条地铁上的点都连上这个虚点,达到中转的目的。code#pragma GCC optimize(2)#include<bits/stdc++.h>using namespace std;const int man = 5e5+1005;#define IOS ios::sync_with_stdio(0)#define ull unsi

2020-07-11 19:13:03 151

原创 牛客小白月赛16 D、小阳买水果 (线段树或前缀和+后缀max)

题意:水果店里有 nnn 个水果排成一列。店长要求顾客只能买一段连续的水果。小阳对每个水果都有一个喜爱程度 aia_iai​ ,最终的满意度为他买到的水果的喜欢程度之和。如果和为正(不管是正多少,只要大于 0即可),他就满意了。小阳想知道在他满意的条件下最多能买多少个水果。你能帮帮他吗?思路:维护一个前缀和,对于每个位置,找到在它后面且离他最远的大于它的值(前缀和)O(n)做法对于找到后面大于它且离他最远的位置,我们可以对求得的前缀和维护一个后缀max,然后每次尽可能往后移动。#prag

2020-07-11 14:20:32 230

原创 牛客小白月赛16 H、小阳的贝壳

对原序列进行差分,得到新的序列。维护这个序列的最大值,gcd⁡\gcdgcd。对于区间 [l,r][l,r][l,r]求 gcd⁡\gcdgcd,只需要求 gcd⁡(a[l],gcd⁡(a[l+1],...a[r]))\gcd(a[l],\gcd(a[l+1],...a[r]))gcd(a[l],gcd(a[l+1],...a[r]))因为 gcd⁡(a,b,c)=gcd⁡(a,b−a,c−a)\gcd(a,b,c) = \gcd(a,b-a,c-a)gcd(a,b,c)=gcd(a,b−a,c−a)

2020-07-11 08:37:54 146

原创 Educational Codeforces Round 74 (Rated for Div. 2) C. Standard Free2play (DP)

思路:对于2个点中间的所有点,其实都可以看做一个点(因为移动他们无需任何代价)那么我们把所有点的下一个点 x−1x-1x−1(不能为0) 放入集合,对这些点进行dp。定义dp[i]表示到达第 iii 个点都安全的最小代价。那么转移:如果下一个点是已经伸出的点:那么下一个点 dp[i+1] = min(dp[i+1],dp[i]+1) 因为改变这个点必会改变下一个点的状态,要让它保持不变,代价+1.下个点伸出,下下一个点如果是已经伸出的点,那么 dp[i+2] = min(dp[i+2],d

2020-07-09 15:33:04 162

原创 Codeforces Round #648 (Div. 2) E、Maximum Subsequence Value

题意:从a数组中选取一个长度为k的子序列,使得该子序列的value值最大。一个子序列的value值为2^i的和,i为二进制形式下的有效位。当且仅当该子序列中不少于k-2个数的二进制在该位下为1时,该位有效。思路:对于选取小于等于3个数,那么这些数每个数的位数都对答案有贡献。当随着k增大,要满足的条件就是k-2个数的相同位置二进制数要相同,所以随着k越大,答案就越小。对于k大于3时,当某位有效时,说明至少有k-2个数的该位为1,这种情况显然更加难以满足。但是若从这个子序列中挑三个数,则根据鸽巢原理必

2020-07-08 20:10:55 114

原创 牛客练习赛66 E、骚区间

思路:明显枚举每个端点作为骚区间的左端点,假设我们枚举ai作为左端点,然后在他右边找到第一个小于ai的数的位置x,然后再在x的右边找第一个小于ai的数的位置y,明显以ai为左端点的骚区间只能在[x,y)这个区间中选择右端点,同理也可以枚举每个数作为右端点,然后找他左边第一个第二个大于ai的数x,y,那么以这个数为右端点的骚区间的左端点只能在(x,y]中选择,这样的话问题就化成了枚举每个点作为左端点,然后得到一个区间,在log的时间复杂度的下,求这个区间中的每个数对应的区间中包含左端点的区间个数最后令点

2020-07-07 21:09:57 184

原创 序列

题意:思路:贴一个大佬写的大致理解就是全从0 开始,然后根据原序列构造一个差分序列,然后就相当于对于某个区间全+1了,(前缀和之后就是原数) 然后对于某个差分后的负数,肯定得由前面的值加起来,然后就找正数抵消它,由此有最大值、最小值,先把离得远的抵消了,就是最小值的情况。反之则最大值。不过貌似可以用吉老师线段树求最小值...

2020-07-06 19:39:50 138

原创 51nod1584 加权约数和

式子化简:∑i=1N∑j=1Nmax(i,j)∗σ(i∗j)\sum_{i=1}^{N}\sum_{j=1}^{N}max(i,j)*\sigma(i*j)i=1∑N​j=1∑N​max(i,j)∗σ(i∗j)枚举 max(i,j)max(i,j)max(i,j) 得到:2∗(∑i=1Ni∑i=1jσ(i∗j))−∑i=1Ni∗σ(i2)2*(\sum_{i=1}^{N}i\sum_{i=1}^{j}\sigma(i*j)) -\sum_{i=1}^{N}i*\sigma(i^2)2∗(i=1∑N​i

2020-06-28 17:35:58 192

原创 51nod 1675 (莫比乌斯反演)

我们先不考虑 abi=baja_{b_i} = b_{a_j}abi​​=baj​​ 这种情况,那么就很裸的莫比乌斯反演了。设 f(x)=∑i=1n∑j=1n[gcd⁡(i,j)==x]f(x) = \sum_{i=1}^{n}\sum_{j=1}^{n}[\gcd(i,j)==x]f(x)=i=1∑n​j=1∑n​[gcd(i,j)==x]在设 g(x)=∑x∣df(d)g(x) = \sum_{x|d}f(d)g(x)=x∣d∑​f(d)=∑x∣d∑i=1n∑j=1n[gcd⁡(i,j)==d]=

2020-06-28 15:03:00 171

原创 cf

题目大意:有个一开始为空的序列。每次操作会往序列最后加一个 111 到 mmm 的随机整数。当整个序列的 gcd⁡\gcdgcd 为 111 时停止。问这个序列的期望长度对 109+710^9+7109+7 取模的值。令 f[i]f[i]f[i] 表示当前的 gcdgcdgcd 为 iii (第一个位置的数为 iii 开始),到序列所有的 gcdgcdgcd 为 111 的状态的期望步数,初值 f[1]=0f[1] = 0f[1]=0,那么它的转移方程就是:f[i]=1m∗∑j=1m(f[gcd⁡(i,

2020-06-27 23:37:13 169

原创 查看nvidia显卡的GPU信息

1.进入cmd。2.cd到C:\Program Files\NVIDIA Corporation\NVSMI3.运行nvidia-sim.exe可执行程序即可查看GPU信息。

2020-06-15 14:14:21 890

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除