nowcoder 2019noip暑假7天营Day4 T2卖羊驼
\(V\)为最大权值,\(K\)为总段数,\(n\)为羊驼总数,\(p[i]\)表示第 i 只羊驼的权值,\(dp[i][k]\)表示在 i 及 i 之前将序列分解为k组的最优解,\(lp[j]\)表示在 i 往前第一个二进制第 j 位为1的羊驼 , \(or\_val[j]\) 为从 \(i\) 到 \(lp[j]\) 的或和 根据如上定义,我们可以得到一个动态转移方程 \[dp[i][k]=max(dp[i][k],dp[lp[j]][k-1]+or\_val[j])\] 其中 j 从 0
[机器学习理论] 降维算法PCA、SVD(部分内容,有待更新)
几个概念 正交矩阵 在矩阵论中,正交矩阵(orthogonal matrix)是一个方块矩阵,其元素为实数,而且行向量与列向量皆为正交的单位向量,使得该矩阵的转置矩阵为其逆矩阵: 其中,为单位矩阵。正交矩阵的行列式值必定为或,因为:
python ——增加文件注释以及函数注释
毋庸置疑,良好的编码习惯对于学习一门语言很重要,这样可以很好的保持代码可读性以及可维护性。代码的可读性可以通过代码的命名以及注释体现。当然理想的可读性良好的代码是完全没有注释,代码本身已经具有充分的自明性。 目前对于python遵守的pep8代码规范,需要进一步的了解和熟悉。首先掌握文件注释以及函数注释。 1.文件注释的添加方式。 pycharm提供了一个在新建文件自动生成文件头注释的功能,可以实现自动生成运行环境,作者、日期等必要信息,使用比较方便,配置十分简单。 2.增加函数注释 自动生成
Gym - 100962F: Frank Sinatra (树上莫队+bitset)
题意:给定一棵树,带边权。然后Q次询问,每次给出(u,v),求这个路径上最小的未出现的边权。 思路:树上莫队,求mex可以用分块或者bitset,前者可能会快一点。 莫队过程:求出欧拉序,即记录dfs的in和out时间戳。 然后摊平成数组,在数组上进行莫队。 一般的莫队需要单独考虑LCA,因为LCA不在这个区间里。 但是由于这里是边权,用儿子代替边权,所以LCA本来就不用考虑。 这个序列里,有效的部分是出现奇数次的,所以用vis记录奇偶性,如果是奇,表示加; 偶表示删。 如果想再快一点,可以把
JVM学习(六):Java内存模型
1、Java内存模型(Java Memory Model,JMM):线程、主内存和工作内存。所有的变量都存储在主内存(虚拟机内存的一部分)中,每条线程还有自己的工作内存。线程对变量的所有操作(读取、赋值等)必须在工作内存中进行,不同线程之间无法直接访问对方工作内存中的变量,需要通过主内存来完成。 2、如果要把一个变量从主内存复制到工作内存,就要顺序地执行read和load操作,如果要把变量从工作内存同步回主内存,就要顺序地执行store和write操作。 3、由于volatile变量只能保证可
Mac设置Linux免密登陆
利用公钥认证登录 1.创建共钥 输入下面的命令,一路回车 ssh-keygen -t rsa 2.复制公钥到ssh服务器 将上一步生成的id_rsa.pub公钥文件复制到目标服务器对应用户下的~/.ssh/authorized_keys 文件 如果服务器上没有authorized_keys 这个文件,直接创建即可,如果有,则把id_rsa.pub 这个文件里的内容copy 追加到后面即可 3.配置快捷登录 在自己的mac上的 ~/.ssh/config配置文件添加你的ssh服务器信息,若没有就
Apach Shiro 密码加密过程(明文生成密码过程)详细解析
前言: 最近再项目当中使用的ApachShiro安全框架,对于权限和服务器资源的保护都有一个很好的管理。前期主要参考的文章有 项目中设计密码的加盐处理以及二次加密问题,跟着断点 一步步揭开Apach Shiro 的神秘面纱 数据库: 这里我们就用最简单的admin + 123456(加密前的密码) 来做测试 ShiroConfig 配置 /**
* 凭证匹配器 告诉
* @return
*/
@Bean
public Hashe
TestNG(十) 依赖测试
package com.course.testng.suite;
import org.testng.annotations.Test;
public class DepenTest {
@Test
public void test1(){
System.out.println("test1 run");
throw new RuntimeException();
}
@Test(dependsOnMe
累积分布函数(cumulative distribution function)
sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程,QQ:231469242) https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campaign=commission&utm_source=cp-400000000398149&utm_medium=share 累积分布函数(cumulative distribution function)定义:对连续函数,所有小于等于a的值,其出现概率的和
2019 年百度之星·程序设计大赛 - 初赛三
P.S:关于初赛二,在高铁上打代码真是奇怪的体验!!! 1003,1004的题解很不错,学习了! =========================================== 一开场把所有的题目看了一遍,这题面风格,感觉凉凉。还好,往下做时,题目不是太坑。 1002 floyd转dijkstra+堆优化,感觉是套路题了 1 #include <cstdio>
2 #include <cstdlib>
3 #include <cmath>
4 #include <
suctf2019 部分web题目的复盘
1.简单的SQL注入 一开始一直没思路,输入什么过滤什么,结束后看了大佬们的wp,感觉学到了,这里涉及到Mysql中的一个特殊模式的设置 set sql_mode=pipes_as_concat;
这一句sql语句的意思是开启mysql中支持管道符来进行字符串的拼接操作 测试一下效果 简单准备的原始数据表 没有开启这个模式的时候 这里并没有出现字符串的拼接效果 开启这个模式后 可以从上图看到,数据表中的数据被带出来了,下面这张图更清晰 因此,假定上面那道题支持开启这个模式的话,就可以遍历数
platform框架 学习总结
1,内核以实现总线,只需写驱动和设备的信息; 2,设备链表、驱动链表;总线完成链表匹配(name);驱动执行probe函数,向上层提供open、read、write接口需要在probe函数中注册字符设备驱动;在probe函数中根据设备信息操作硬件;ioremap物理地址映射成虚拟地址操作硬件;总线编译再内核中;设备提供信息(中断号/地址); 总线完成设备和驱动的匹配; 3,platform是一个虚拟的总线,platform中采用分离思想。将设备信息和设备驱动分离,在内核中所有的设备信息被放到一
notepad++一次多行复制粘贴到对应位置
NodePad++一次复制多行粘贴到对应位置 有时候要写sql,但是里面有很多字段要对应上,如果要自己一个字段一个字段的去写是在有点麻烦,是不是有更好的方法做到这件事呢? 要做这件事,首先分析下我们已有数据的情况,每个字段在系统的元数据表都是已经存在的,能否从元数据表里拿到字段名,然后根据一个顺序一次复制、一次粘贴搞定这个事情。 需要用nodepad++达到这种效果,实现等号左边的非常容易,复制粘贴即可,之后再按shift+alt+方向键即可进入列编辑模式,即可为每一行输入一个等号。 最困难的
Oracle中查询当前时间、时间格式化方法
Oracle中如何获取系统当前时间 select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual; ORACLE里获取一个时间的年、季、月、周、日的函数 select to_char(sysdate, 'yyyy' ) from dual; --年 select to_char(sysdate, 'MM' ) from dual; --月 select to_char(sysdate, 'dd' ) from dual; --日 selec
JS中树形对象与数组之间的相互转换
在工作中经常会遇到树形结构的对象转为数组或者数组转为树形对象的需求,那么如何实现呢? 1、首先是要将一个具有树形结构的数组转化为树形结构的对象 // 将一个扁平化的对象数组,转化为树形结构
// 现在有一个对象组成的数组,每个元素有id属性和parent_id属性,根据其id属性和parent_id属性,将其转换为树结构的对象
const arr = [
{
id: '1',
parent_id: 'root',
name:'abc'
TestNG(九) 异常测试
package com.course.testng.suite;
import org.testng.annotations.Test;
public class ExpectedExeption {
/*
什么时候回应道异常测试?????
在我们期望结果为某一个异常的时候
比如:我们传入不合法的参数,程序抛出了异常
也就是说我的预期结果就是这个异常
*/
// 测试是吧的异常测
今日推荐
周排行