LOJ2980. 「THUSCH 2017」大魔法师
一道好题 Solution 区间操作,容易想到线段树 但是普通的线段树好像无法维护这种区间操作 考虑将操作转换成矩阵乘法,再用线段树维护矩阵 这里的操作有两种转换方法: 1.转换成矩阵的乘法和加法: 线段树维护区间矩阵和 优势:空间和时间复杂度的常数要小 缺点:有优先级问题(类似于线段树模板1和线段树模板2的区别) 2.全部转换成矩阵的乘法: 线段树维护区间矩阵乘积 优势:只用维护区间乘积,无优先级问题 缺点:时空复杂度的常数比方法1略大 两种方法各有利弊,根据题目要求具体选择 #includ
区块链的演化逻辑与经济学意义
区块链的演化逻辑与经济学意义 比特币不是区块链,比特币是一种数字货币,区块链则是分布式记账系统,然而,目前为止,比特币却是区块链应用最为成功的案例。要真正理解区块链,还须从比特币到区块链的演化逻辑讲起。 从比特币到区块链 理解比特币诞生和区块链技术兴起的背后逻辑,需要回顾货币的发展历史。最初,原始社会的交易是通过以物易物来达成,但是实体交易物的双方需求并不经常匹配,且具体交换价值无法统一估量;随后,发展出了以某一实物(如金银)作为固定衡量交换价值的单位,充当交换媒介,但是存在笨
XSS跨站脚本攻击学习笔记
颓废了几天,该好好努力了。 XSS概述 XSS漏洞是web漏洞中危害较大的漏洞,是一种发生在web前端的漏洞,所以危害的对象也主要是前端用户,XSS可以用来进行钓鱼攻击,前端js挖矿,获取用户cookie。甚至可以结合浏览器自身的漏洞对用户主机进行远程控制等。 XSS漏洞的常见类型 1.反射型,交互的数据一般不会存在在数据库里面,一次性,所见即所得,一般出现在查询类页面等。 2.存储型交互的数据会被存在数据库里面,永久性存储,一般出现在留言板,注册等页面。 3.DOM型不与后台服务器产生数据交
.net core 3.0 Signalr - 08 业务实现-客户端demo
由于signalr作为一个单独的推送系统,跟业务系统是分离开的,所以此处模拟一个业务系统,新建一个.net core app项目 ## 模拟实现一个登录功能 我们的登录很简单,当进入系统,如果检测到用户未登录则跳转到登录页面,用户只需要输入用户名点击登录即算登录成功 - 配置ConfigServices方法 [查看代码](https://github.com/xiexingen/CTS.Signalr/blob/master/CTS.Signalr.Client/Startup.cs#L41-
设计模式之————建造者模式
建造者模式 1. 什么是建造者模式? 建造者模式属于创造型模式,它是将复杂对象的建造过程抽象出来,使这个抽象过程的不同实现方法可以构造出不同表现的对象。 举例: 普通房子和高楼,两者都很难建造,但也有相似点:打地基、砌墙、盖屋顶。 普通房子的地基5m,墙10cm;高楼的地基100m,墙20cm。 2. 建造者模式结构 Product(产品角色):一个具体的产品对象 Builder(抽象建造者):创建一个Product对象的各个部件指定的接口/抽象类 ConcreteBuilder(具体建造者)
国庆手撸商品管理系统(三)
之前的内容 点我管理系统(一) 点我管理系统(二) 一.实现的内容 商品退货 商品库存 商品进货 商品删除 商品还原 时钟 优化模型 二.后续内容准备优化内容 把数据库查询的内容存在缓存中 增加按日期,按商品名查询 增加快捷商品增加 优化代码 优化界面 三.目录结构 drf_test
|___drf_api
| |___admin.py
| |___apps.py
| |___migrations
| |___models.py
| |___tests.py
|
【SHOI2012】回家的路
2046年OI城的城市轨道交通建设终于全部竣工,由于前期规划周密,建成后的轨道交通网络由2n条地铁
线路构成,组成了一个n纵n横的交通网。如下图所示,这2n条线路每条线路都包含n个车站,而每个车站
都在一组纵横线路的交汇处。
出于建设成本的考虑,并非每个车站都能够进行站内换乘,能够进行站内换乘的地铁站共有m个,在下图
中,标上方块标记的车站为换乘车站。已知地铁运行1站需要2分钟,而站内换乘需要步行1分钟。
Serenade想要知道,在不中途出站的前提下,他从学校回家最快需要多少时间(等车时间忽
FZU ACM 联合训练 Day5总结
题解 A 题意: 给你一个字典树,让你构造一个AC自动机,也就是求每个点的fail指针。(字符集十万级大小) 口胡: 感觉跟普通AC自动机的求法差不多?其实不是很会字符串,听说用主席树和后缀数组都可以过。 有神仙会做的话麻烦指点一下老弟。 感受: 考场上根本没想这题,全被乱搞题耗死了。 B 题意: 给一张有向无权图,求所有点对最短路长度的平方和。(稠密图,点数2000级别) 题解: 乱搞题。 考虑BFS求单源最短路径,但是它是个稠密图,怎么搞才不会T勒? 用bitset维护分层闭包,复杂度 \
2019/10/5 综合测试小结
T1: 题意:在第一象限有n个点,问最少需要几个经过(0,0)的抛物线才可以包含所有点(数据范围小); 思路:由于二次函数不是很好,一开始看到这道题是先跳过了的。做完第二题后再来看这题,发现数据范围非常小,于是想暴力拿分,就将每个可以用一条线包含的点存在那个线的数组里,每一次都取最大的那一组; 题解:前半部分和思路一致,但贪心出锅,于是状压dp; T2: 题意:有一个序列,每个数只能为0和1,有n个0,m个1,你可以猜下一位是什么(做出猜测后就可以知道猜对了没有),问在最优策略
VIM的配置以及插件管理
VIM的配置详细说明参考:http://www.ruanyifeng.com/blog/2018/09/vimrc.html 此外VIM的插件管理比如 Vundle可以参考这个博客: https://www.cnblogs.com/aaronLinux/p/6798898.html
.net core 3.0 Signalr - 09 待改进&交流
## 个人心得 写博客真的比写代码累,膜拜那些坚持写博客的大佬! 有时候零散的片段比较多,没写之前感觉有千千万万要写的东西,实际写的时候发现, 好像这个没啥说的,然后就帖了个图,或者一笔带过了 ## 待改进&交流 - 使用消息队列替换目前的api调用形式,同时消息队列支持定义推送优先级 - 使用polly来重试失败的调用 - 将连接中传递的userId改成token - 多个客户端同时关闭,IsLast不准确 - 服务器端需要有定时任务去清除redis中的无效数据(看造化) 更多内容请通过快速
C++ Complex + - += -+ <<运算符重载
/* 提供了加减运算符重载的复数类头文件。关于传递引用和传递值,使用const 和不使用const,关于指针成员的使用需要继续学习。。。 同理可以写出乘除法,共轭复数,绝对值, 等其他运算符重载。 */ #ifndef _COMPLEX_H_ #define _COMPLEX_H_ #include<iostream> using namespace std; class Complex { public: //构造函数 Complex(double r = 0, double i = 0):
Android Studio 报错之 Connect to 127.0.0.1 failed
如果在 Android Studio 中设置了代理,而在电脑中使用 SS 设置了全局代理,之后 SS 代理不可用时,使用 Android Studio 时会报如下错误: Connect to 127.0.0.1:1086 [/127.0.0.1] failed: Connection refused: connect 此时即使关闭 Android Studio 代理或是关闭 SS 皆不能解决 Connect to 127.0.0.1:1086 [/127.0.0.1]
MyBatis通用Mapper和PageHelper
如果项目中使用到了MyBatis框架,那么使用通用Mapper和PageHelper分页插件将极大的简化我们的操作。通用Mapper可以简化对单表的CRUD操作,PageHelper分页插件可以帮我们自动拼接分页SQL,并且可以使用MyBatis Geneator来自动生成实体类,Mapper接口和Mapper xml代码,非常的方便。插件地址及作者链接https://gitee.com/free。 引入依赖 这里使用Spring Boot来构建,可参考Spring-Boot中使用Mybati
CF711D 【Directed Roads】
这是一场比赛的 T4T4 ,身为蒟蒻的我当然没有想出来。 后来对基环树有了一点了解之后就来肝这道题。 首先对于一条边,只有两种情况 1.在环上,那么这个环只有全部正向或全部反向才可以成立,而总方案数显然是 2m ,其中 mm 是环上的边数,所以方案数就是 2m-2 2.不在环上,那么这种边就可以随意取,也就是2w−∑m ,也就是所有的边数减去在环上的边。 先用拓扑排序找出所有的环,再用乘法原理统计就是了 注意的点 1.int 和bool的区别
2.ans初始化为1
3.拓扑排序注意
webUI框架miniUI,easyUI,extJS,Bootstrap简介及简单部署
本文为大家讲解的是webUI框架miniUI,easyUI,extJS,Bootstrap简介及简单部属,感兴趣的同学参考下 ExtJS是一种主要用于创建前端用户界面,是一个基本与后台技术无关的前端ajax框架。 jQuery EasyUI是一组基于jQuery的UI插件集合,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只有一些简单的html标签。
elementUI多选框获取值
elementUI种的多选框和单选框差不多, (1)el-checkbox-group里绑定一个数组 (2)el-checkbox-group绑定一个方法获取值 (3)for循环选项,绑定key,label (4)el-checkbox里还可以绑定disabled和checked 例子: <template>
<div>
<el-checkbox-group v-model="test" @change="getValue()">
<el-checkbox v-
关于Qt画点及计算机专业基础课程介绍
在计算机图形图像学中,开始都是先画点,我曾经在汇编上tc2.0上画点,后来是MFC,VB,Qt,Python,我觉得对于计算机专业的选择QT的原因是它是个C系的功能强大庞大的库,可以少写很多代码,但是又不会过于屏蔽底层,这样在方便的写一些小例子能增强信心,在深入时候迫使使用者需要系统学习很多知识和走迷宫一般的耐心及毅力的锻炼。 QT画点在网上资料很多,主要就是下面几步: //在绘制事件中使用QPainter中的API绘制 TestWidget::paintEvent(..) { QPainte
今日推荐
周排行