摘要:
思路:DP f[i]表示的是i可以到达的最大值 从左往右遍历,对于i来说最大值有三种情况 1:i本身就是最大 2:去掉i-1,i和i-2合并,这里的i-2是指和前面合并完达到最大的值 3:i前面某一个数字j最大,其中j~i之间恰好为奇数个,可以合并抵消掉,例如100 -1 -4 -1 100 #in 阅读全文
摘要:
题目大意求出一个n的排列,使得对于所有的长度的子区间其中不包含在该子区间中最小正整数为质数,这样的区间数最多 对于任意长度的区间,如果1不包含,则这样的区间一定是bad的,因此我们想要1尽可能在区间中则1放中间,此外,2和3是除1外的最小正整数也是质数,如果2和3不包含在区间则该区间一定是good的 阅读全文
摘要:
Map类 package org.example.score; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; i 阅读全文
摘要:
A #include <iostream> #include <cstring> #include <string> #include <algorithm> #include <cmath> #include <set> #include <utility> #include <vector> # 阅读全文
摘要:
在我配置完所有结点启动后发现存活的结点只有一个,一开始我以为是主机或者配置的问题,但是都没有用 后来终于找到了问题所在,问题的关键就是xsync脚本分发后再使得三台主机的datanode id一样 修改这个使得三个主机的uuid不同即可 阅读全文
摘要:
首先在之前的伪分布基础上克隆两台机器 这样一共三台虚拟机 为这三台虚拟机设置三个不同的静态ip地址和主机名 我的是 billsaifu 192.168.15.130 hadoop1 192.168.15.131 hadoop2 192.168.15.132 静态IP设置 #先进入root vim / 阅读全文
摘要:
题目意思是输出任意一个排列,使得所有相邻元素i到i-1的距离之和为k 首先k最小为n-1,即当n为1~n的规则排列时,我们先减去一个n-1,然后根据多出来的k来对元素进行重排列 为了方便考虑,我们对于每次移动i时,只考虑i-1和i之间的多出来的距离变换来抵消k,对于i+1来说如果无需移动则维持和i的 阅读全文
摘要:
题目要求求出最小的总代价使得平均数为整数,转换式子可得实际就是求出a,b使得(a*x-b*y+sum)%n==0且a*p+b*q要最小,平均值的为sum/n,因此对sum进行操作使其成为n的倍数即可 (a*x-b*y+sum)%n==0 =>((a*x+sum)%n-b*y%n)%n==0 因为(a 阅读全文
摘要:
由题目观察可得,a[m+1]=a[i]^...a[m],,结合异或的性质a^b^a=b,可得如果在末尾添加一个a[m+1],a[m+1]会和末尾几个抵消掉,求得i~k这一段的异或和,k<m,因此通过该操作实际上我就可以求得所有长度连续区间的异或和,求其最大值,n=1e5+10,如果暴力求解肯定会超时 阅读全文
摘要:
贪心 由题可得,对于k的选择一定是单调递增的,对于前面选定的k后面选的k必须大于之前选的才会发生新的变化,因此k的选择其实是一个单调栈,由前缀和组成 我们要想最后的结果最大,则k值一定要尽可能的高,例如当选中i为k值时,如果从i后面某个原本的前缀和要大于选k之后所得到的前缀和的话,说明k不是最优的 阅读全文