- java 如何解决SQL注入攻击
红团子的码农生活
javasqloracle
问题描述action=login&start=login&login=a&password=+or1=1%23&user_type=1&page=1。被sql注入了怎么解决原因分析:提示:首先,用户的注入语句中,password参数的值是+or1=1%23,解码后应该是"or1=1#",这显然是一个经典的SQL注入尝试,利用逻辑或使条件永真,注释掉后续的密码验证。参考搜索结果中的例子,比如1和
- 第五阶段【MySQL数据库:常用PT工具】06:使用pt-archiver来进行数据归档
做一个有趣的人Zz
DBA数据工程师成长之路数据库mysqldba
一、环境准备1、环境准备准备好一套主从复制的环境,以及一个归档的实例,也就是一个单机部署的MySQL192.168.5.130主库192.168.5.132从库归档库192.168.5.129归档2、创建用户创建归档用户,主库130创建CREATEUSER'dba_archive'@'192.168.%'IDENTIFIEDWITHMYSQL_NATIVE_PASSWORDBY'admin';GR
- 设计模式七大设计原则Java 实践
sevevty-seven
设计模式java开发语言
1.单一职责原则(SingleResponsibilityPrinciple,SRP)单一职责原则规定一个类应该仅对一项职责负责。这意味着一个类应只关注一件事情,以便降低类之间的耦合度,提高代码的可维护性。示例://用户登录类publicclassUserLogin{publicbooleanlogin(Stringusername,Stringpassword){//登录逻辑returntrue
- 2024 CCPC 第18届东北四省联赛 The 18th Northeast Collegiate I. Password 【计数DP】
吵闹的人群保持笑容多冷静
算法动态规划
I.Password传送门:https://codeforces.com/gym/105173题意一个长度为nnn的序列aaa,每一项都是[1,k][1,k][1,k]的正整数。如果一个区间[i,i+k−1][i,i+k−1][i,i+k−1]是[1,k][1,k][1,k]的排列,那么说明这个区间的所有位置都是好的。问有多少种序列满足所有位置都是好的。n≤105,k≤103n\leq10^5,k
- Lab17_ Blind SQL injection with out-of-band data exfiltration
远川_Horizon
web安全sql
文章目录前言:进入实验室构造payload前言:实验室标题为:带外数据泄露的SQL盲注简介:本实验包含一个SQL盲目注入漏洞。应用程序使用跟踪Cookie进行分析,并执行包含提交的Cookie值的SQL查询。SQL查询是异步执行的,对应用程序的响应没有影响。但是,您可以触发与外部域的带外交互。该数据库包含一个名为users的表,其中的列名为username和password。您需要利用SQL盲目注
- HTML5的新属性
crary,记忆
前端知识总结html5前端html
pattern:用于指定输入字段的正则表达式模式。在提交表单前,输入将验证是否符合指定的模式。pattern属性是HTML5中用于表单验证的一个属性,它用于指定一个正则表达式,以验证输入字段中的值是否符合特定的模式。该属性通常与元素一起使用,并适用于text、password、email、search和tel等类型的输入字段。含义和用法:验证输入格式:pattern属性的值应该是一个有效的正则表达
- [neo4j报错]py2neo.errors.ClientError: [Request.Invalid] Not Found解决方案
阿梦Anmory
neo4j
报错源代码g=Graph('http://localhost:7687',auth=("neo4j","password"))或许这是从网上复制下来的代码,看上去没什么问题,但实际上要结合具体的浏览器上的地址来看,具体如下:看到了吗,这里才是要写的地址因此解决方案也很明显了解决方案g=Graph('neo4j://localhost:7687',auth=("neo4j","password"))
- Ubuntu使用root用户登录
小小大胖子3
Ubuntuubuntulinux运维
1.使用普通用户给root添加密码sudopasswdroot2.登录到root账户3.编辑sshd_config文件修改PermitRootLogin字段为yes,保存并退出vi/etc/ssh/sshd_config....#PermitRootLoginprohibit-passwordPermitRootLoginyes....4.重启ssh服务systemctlrestartsshd5.
- radius服务器搭建
新雪兰
centos服务器搭建服务器运维
一、安装radius服务1、yum安装yuminstall-yfreeradiusfreeradius-mysqlfreeradius-utils如果安装失败,看这里centos6可用的源_新雪兰-CSDN博客2、防止服务没起来,重启下服务serviceradiusdrestart3、测试是否安装成功radiusd–X&radtesttestingpasswordlocalhost0testing
- mongodb基本操作指令
王老实
mongodb
此文档基于mongodb4.4版本,记录一些mongodb的基本指令1.连接mongodb命令mongo--host192.168.0.10:27017--usernameroot--password1234mydb2.创建数据库命令(如果不存在会创建一个新的,存在会直接使用该数据库)usemydb13.创建用户命令db.createUser({user:"newusername",pwd:"ne
- Shell脚本一键推送到钉钉告警并@指定人
岚天start
钉钉shell艾特钉钉告警告警脚本
1.Shell脚本 cat /opt/monitor/device/device.sh#!/bin/bash#域名列表文件绝对路径text_file="/opt/monitor/device/device.txt"#PG数据库密码环境变量exportPGPASSWORD='8888888888888888'#结果为0代表正常设备,非0代表有异常设备sql_cmd="selectcount(1)f
- 查看归档日志及rman备份文件
大叶梧桐
LINUX归档日志man备份
[root@his1/]#ls----查看**/**根目录下的文件archivebootdevhomelib64mediamntoptrmansbinsrvtmpusrbincgroupetcliblost+foundmiscnetprocrootselinuxsysu01var[root@his1/]#cdarchive/------进入archive/[root@his1archive]#ls
- pycharm ssh 远程连接docker 容器 进行debug调试代码
Panesle
pycharmsshdocker
pycharmssh远程连接docker容器进行debug调试代码1.用镜像启动好一个容器2.安装ssh工具aptupdateapt-getinstall-yopenssh-server3.配置ssh的config文件vim/etc/ssh/sshd_config配置修改好(端口、登陆权限):Port3210PermitRootLoginyesPasswordAuthenticationyes4.
- rabbitmq-amqp事务消息+消费失败重试机制+prefetch限流
執迷王二
rabbitmq分布式
1.安装和配置org.springframework.bootspring-boot-starter-amqpcom.fasterxml.jackson.corejackson-databind1.2yml配置###生产端的配置spring:rabbitmq:host:localhostport:5672virtual-host:/#虚拟主机username:guestpassword:guest
- freeswitch-esl 实现广播功能
小gpt&
qt音视频c++
使用场景:发起广播时候,只有发起者可以发出声音,下面设备都只听到发起者声音,其他人不能发声代码如下:#include#include#includeclassFreeSwitchManager{public:FreeSwitchManager(conststd::string&host,intport,conststd::string&password):host_
- 利用docker部署ftp服务用于共享团队的资料
qq_14910065
linuxdocker容器相关docker容器运维
公司需要一个ftp服务器,用户收集团队的共享文件1.docker创建命令dockerrun-d\-p21:21\-p30000-30009:30000-30009\-eFTP_USER_NAME=ftpuser\-eFTP_USER_PASS=ftppassword\-eFTP_USER_HOME=/home/ftpuser\-v/home/ftp_data:/home/ftpuser\--nam
- linux 远程文件同步(shell)
黑暗的笑
shellexpect远程传文件while
1.首先安装tcl和expect(先安装tcl,再安装expect,自行百度),sshpass2.我想把本地文件同步到其他几台机器上,因此,需要知道机器的ip,username,password,我用一个文件来存放这些内容machine_info,内容如下:127.0.0.1usernamepassword192.168.12.12usenamepassword编写expectshell#!/us
- nexus3.24无法登录 默认密码
tkgup
业务开发常见问题解决nexusmaven私服nexus2nexus3安装与说明
nexus3.24的初使化密码不再是admin123而是生成在nexus-3.24.0\sonatype-work\nexus3下的admin.password中用文本工具打开就能看到密码注:打开后文件就没了,进去后按提示修改密码
- Node.js连接Mysql
月落玄衣
node.js1mysqlnode.jsmysqljavascript开发语言后端
node.js连接mysql简单步骤,如下:安装mysql驱动:npminstallmysql连接数据库://请求mysqlvarmysql=require('mysql');//设置连接信息varconnection=mysql.createConnection({host:'localhost',user:'root',password:'123456',port:'3306',databas
- Linux云计算SRE-第十七周
晨曦启明711
linux运维服务器
1.做三个节点的redis集群。1、编辑redis节点node0(10.0.0.100)、node1(10.0.0.110)、node2(10.0.0.120)的安装脚本[root@node0~]#viminstall_redis.sh#!/bin/bash#指定脚本解释器为bashREDIS_VERSION=redis-7.2.7#定义Redis的版本号PASSWORD=123456#设置Red
- Docker部署postgres数据库
RedEric
部署运维docker数据库容器postgresql
Docker部署postgres数据库拉取镜像dockerpullpostgres:10.21-alpine启动容器dockerrun-d-p15432:5432-v/home/server/postgres/pgdata:/var/lib/postgresql/data-ePOSTGRES_PASSWORD=a123456--namepgsqlpostgres:10.21-alpine进入PgS
- Mac M芯片 Docker安装Postgres数据库
guohaoran1110
macosdockerpostgresql
docker安装postgres数据库拉取imagedockerpullpostgres创建数据映射mkdir/Users/你的mac目录/docker/postgres/data启动镜像dockerrun--namepostgres-p5432:5432\-ePOSTGRES_DB=pg_db\-ePOSTGRES_USER=root\-ePOSTGRES_PASSWORD=你的密码\-v/Us
- mysql数据库中alter_详解MySQL中ALTER命令的使用
寒夜剑鸣
mysql数据库中alter
MySQL的ALTER命令是非常有用的,当想改变表的名称,表的字段,或者如果要添加或删除一个现有的表中的列。让我们开始创建一个表名为testalter_tbl的用例:root@host#mysql-uroot-ppassword;Enterpassword:*******mysql>useTUTORIALS;Databasechangedmysql>createtabletestalter_tbl
- 【React 框架】React面向组件编程:非受控组件 / 生命周期 / DOM 的 diffing 算法
咕啾啾
前端react.js前端reactjsjavascriptreact
学习视频:尚硅谷React技术全家桶全套完整版(零基础入门到精通/男神天禹老师亲授)_哔哩哔哩_bilibili一、受控组件与非受控组件(收集表单信息)以下都用一个案例来说明,效果如下:1、受控组件主要步骤:(1)定义一个表单,创建ref容器。(2)给相应的结点元素增加ref标识。(3)通过onSubmit事件执行printData函数。(4)从this中获取username与password结点
- 传参的几种形式
weixin_45776308
vue前端原创vue
1.form-data//登录以form-data形式传参(username,password是后端需要的参数)constformData=newFormData();formData.set("username",username);formData.set("password",password);//上传文件时也以form-data形式传参(file和id是后端需要的参数)constform
- Python实战笔记-删除数据5
MMGNFT
K总编程笔记
importpymysqldb=pymysql.connect(host=“127.0.0.1”,user=‘root’,password=‘11111111’,database=“pymysql_test”,port=3306)cursor=db.cursor()sql=“deletefromarticlewhereid=2”cursor.execute(sql)db.commit()db.cl
- odoo初始化数据库
山上春
数据库odoo
在Odoo中,初始化数据库的命令会因使用的环境和启动方式而有所不同,下面为你详细介绍几种常见的初始化数据库的方式。1.使用命令行工具初始化在命令行中,你可以使用Odoo的启动脚本并结合相关参数来初始化数据库。以下是基本的命令格式:odoo-bin-d--db_user--db_password--db_host--db_port--initall--without-demoall参数说明:-d:指
- 1、密码学
三九笔墨
一密码安全密码学网络安全
目录密码学简介一、密码学分类二、密码安全及分析方法三、相关学习研究方向四、密码学应用密码学密码:密码是一种用来混淆的技术,使用者将可识别的信息转变为无法识别的信息。但这种无法识别的信息部分是可以再加工并恢复和破解的。密码在中文里是”口令”(password)的通称。但是咱们输入的某些静态口令严格意义上并不算使用了密码技术,需要具体问题具体分析。密码学:密码编制学+密码分析学密码编制学:研究密码编制
- Remote: Support for password authentication was removed on August 13, 2021.
杏花春雨江南
gitgithub
remote:SupportforpasswordauthenticationwasremovedonAugust13,2021.remote:Pleaseseehttps://docs.github.com/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urlsforinform
- mysql怎样更改加密算法及修改密码加密方式
IT_狂奔者
MySQLmysql数据库
MySQL是一种流行的关系型数据库管理系统,可以用来存储和管理数据。MySQL默认使用的加密算法是sha256_password,但有时候我们需要更改加密算法。本篇文章将介绍如何更改MySQL的加密算法。mysql全局修改加密算法步骤如下:1.查看当前加密算法SELECT@@default_authentication_plugin;2.停止MySQLsudo/etc/init.d/mysqlds
- 强大的销售团队背后 竟然是大数据分析的身影
蓝儿唯美
数据分析
Mark Roberge是HubSpot的首席财务官,在招聘销售职位时使用了大量数据分析。但是科技并没有挤走直觉。
大家都知道数理学家实际上已经渗透到了各行各业。这些热衷数据的人们通过处理数据理解商业流程的各个方面,以重组弱点,增强优势。
Mark Roberge是美国HubSpot公司的首席财务官,HubSpot公司在构架集客营销现象方面出过一份力——因此他也是一位数理学家。他使用数据分析
- Haproxy+Keepalived高可用双机单活
bylijinnan
负载均衡keepalivedhaproxy高可用
我们的应用MyApp不支持集群,但要求双机单活(两台机器:master和slave):
1.正常情况下,只有master启动MyApp并提供服务
2.当master发生故障时,slave自动启动本机的MyApp,同时虚拟IP漂移至slave,保持对外提供服务的IP和端口不变
F5据说也能满足上面的需求,但F5的通常用法都是双机双活,单活的话还没研究过
服务器资源
10.7
- eclipse编辑器中文乱码问题解决
0624chenhong
eclipse乱码
使用Eclipse编辑文件经常出现中文乱码或者文件中有中文不能保存的问题,Eclipse提供了灵活的设置文件编码格式的选项,我们可以通过设置编码 格式解决乱码问题。在Eclipse可以从几个层面设置编码格式:Workspace、Project、Content Type、File
本文以Eclipse 3.3(英文)为例加以说明:
1. 设置Workspace的编码格式:
Windows-&g
- 基础篇--resources资源
不懂事的小屁孩
android
最近一直在做java开发,偶尔敲点android代码,突然发现有些基础给忘记了,今天用半天时间温顾一下resources的资源。
String.xml 字符串资源 涉及国际化问题
http://www.2cto.com/kf/201302/190394.html
string-array
- 接上篇补上window平台自动上传证书文件的批处理问卷
酷的飞上天空
window
@echo off
: host=服务器证书域名或ip,需要和部署时服务器的域名或ip一致 ou=公司名称, o=公司名称
set host=localhost
set ou=localhost
set o=localhost
set password=123456
set validity=3650
set salias=s
- 企业物联网大潮涌动:如何做好准备?
蓝儿唯美
企业
物联网的可能性也许是无限的。要找出架构师可以做好准备的领域然后利用日益连接的世界。
尽管物联网(IoT)还很新,企业架构师现在也应该为一个连接更加紧密的未来做好计划,而不是跟上闸门被打开后的集成挑战。“问题不在于物联网正在进入哪些领域,而是哪些地方物联网没有在企业推进,” Gartner研究总监Mike Walker说。
Gartner预测到2020年物联网设备安装量将达260亿,这些设备在全
- spring学习——数据库(mybatis持久化框架配置)
a-john
mybatis
Spring提供了一组数据访问框架,集成了多种数据访问技术。无论是JDBC,iBATIS(mybatis)还是Hibernate,Spring都能够帮助消除持久化代码中单调枯燥的数据访问逻辑。可以依赖Spring来处理底层的数据访问。
mybatis是一种Spring持久化框架,要使用mybatis,就要做好相应的配置:
1,配置数据源。有很多数据源可以选择,如:DBCP,JDBC,aliba
- Java静态代理、动态代理实例
aijuans
Java静态代理
采用Java代理模式,代理类通过调用委托类对象的方法,来提供特定的服务。委托类需要实现一个业务接口,代理类返回委托类的实例接口对象。
按照代理类的创建时期,可以分为:静态代理和动态代理。
所谓静态代理: 指程序员创建好代理类,编译时直接生成代理类的字节码文件。
所谓动态代理: 在程序运行时,通过反射机制动态生成代理类。
一、静态代理类实例:
1、Serivce.ja
- Struts1与Struts2的12点区别
asia007
Struts1与Struts2
1) 在Action实现类方面的对比:Struts 1要求Action类继承一个抽象基类;Struts 1的一个具体问题是使用抽象类编程而不是接口。Struts 2 Action类可以实现一个Action接口,也可以实现其他接口,使可选和定制的服务成为可能。Struts 2提供一个ActionSupport基类去实现常用的接口。即使Action接口不是必须实现的,只有一个包含execute方法的P
- 初学者要多看看帮助文档 不要用js来写Jquery的代码
百合不是茶
jqueryjs
解析json数据的时候需要将解析的数据写到文本框中, 出现了用js来写Jquery代码的问题;
1, JQuery的赋值 有问题
代码如下: data.username 表示的是: 网易
$("#use
- 经理怎么和员工搞好关系和信任
bijian1013
团队项目管理管理
产品经理应该有坚实的专业基础,这里的基础包括产品方向和产品策略的把握,包括设计,也包括对技术的理解和见识,对运营和市场的敏感,以及良好的沟通和协作能力。换言之,既然是产品经理,整个产品的方方面面都应该能摸得出门道。这也不懂那也不懂,如何让人信服?如何让自己懂?就是不断学习,不仅仅从书本中,更从平时和各种角色的沟通
- 如何为rich:tree不同类型节点设置右键菜单
sunjing
contextMenutreeRichfaces
组合使用target和targetSelector就可以啦,如下: <rich:tree id="ruleTree" value="#{treeAction.ruleTree}" var="node" nodeType="#{node.type}"
selectionChangeListener=&qu
- 【Redis二】Redis2.8.17搭建主从复制环境
bit1129
redis
开始使用Redis2.8.17
Redis第一篇在Redis2.4.5上搭建主从复制环境,对它的主从复制的工作机制,真正的惊呆了。不知道Redis2.8.17的主从复制机制是怎样的,Redis到了2.4.5这个版本,主从复制还做成那样,Impossible is nothing! 本篇把主从复制环境再搭一遍看看效果,这次在Unbuntu上用官方支持的版本。 Ubuntu上安装Red
- JSONObject转换JSON--将Date转换为指定格式
白糖_
JSONObject
项目中,经常会用JSONObject插件将JavaBean或List<JavaBean>转换为JSON格式的字符串,而JavaBean的属性有时候会有java.util.Date这个类型的时间对象,这时JSONObject默认会将Date属性转换成这样的格式:
{"nanos":0,"time":-27076233600000,
- JavaScript语言精粹读书笔记
braveCS
JavaScript
【经典用法】:
//①定义新方法
Function .prototype.method=function(name, func){
this.prototype[name]=func;
return this;
}
//②给Object增加一个create方法,这个方法创建一个使用原对
- 编程之美-找符合条件的整数 用字符串来表示大整数避免溢出
bylijinnan
编程之美
import java.util.LinkedList;
public class FindInteger {
/**
* 编程之美 找符合条件的整数 用字符串来表示大整数避免溢出
* 题目:任意给定一个正整数N,求一个最小的正整数M(M>1),使得N*M的十进制表示形式里只含有1和0
*
* 假设当前正在搜索由0,1组成的K位十进制数
- 读书笔记
chengxuyuancsdn
读书笔记
1、Struts访问资源
2、把静态参数传递给一个动作
3、<result>type属性
4、s:iterator、s:if c:forEach
5、StringBuilder和StringBuffer
6、spring配置拦截器
1、访问资源
(1)通过ServletActionContext对象和实现ServletContextAware,ServletReque
- [通讯与电力]光网城市建设的一些问题
comsci
问题
信号防护的问题,前面已经说过了,这里要说光网交换机与市电保障的关系
我们过去用的ADSL线路,因为是电话线,在小区和街道电力中断的情况下,只要在家里用笔记本电脑+蓄电池,连接ADSL,同样可以上网........
 
- oracle 空间RESUMABLE
daizj
oracle空间不足RESUMABLE错误挂起
空间RESUMABLE操作 转
Oracle从9i开始引入这个功能,当出现空间不足等相关的错误时,Oracle可以不是马上返回错误信息,并回滚当前的操作,而是将操作挂起,直到挂起时间超过RESUMABLE TIMEOUT,或者空间不足的错误被解决。
这一篇简单介绍空间RESUMABLE的例子。
第一次碰到这个特性是在一次安装9i数据库的过程中,在利用D
- 重构第一次写的线程池
dieslrae
线程池 python
最近没有什么学习欲望,修改之前的线程池的计划一直搁置,这几天比较闲,还是做了一次重构,由之前的2个类拆分为现在的4个类.
1、首先是工作线程类:TaskThread,此类为一个工作线程,用于完成一个工作任务,提供等待(wait),继续(proceed),绑定任务(bindTask)等方法
#!/usr/bin/env python
# -*- coding:utf8 -*-
- C语言学习六指针
dcj3sjt126com
c
初识指针,简单示例程序:
/*
指针就是地址,地址就是指针
地址就是内存单元的编号
指针变量是存放地址的变量
指针和指针变量是两个不同的概念
但是要注意: 通常我们叙述时会把指针变量简称为指针,实际它们含义并不一样
*/
# include <stdio.h>
int main(void)
{
int * p; // p是变量的名字, int *
- yii2 beforeSave afterSave beforeDelete
dcj3sjt126com
delete
public function afterSave($insert, $changedAttributes)
{
parent::afterSave($insert, $changedAttributes);
if($insert) {
//这里是新增数据
} else {
//这里是更新数据
}
}
 
- timertask
shuizhaosi888
timertask
java.util.Timer timer = new java.util.Timer(true);
// true 说明这个timer以daemon方式运行(优先级低,
// 程序结束timer也自动结束),注意,javax.swing
// 包中也有一个Timer类,如果import中用到swing包,
// 要注意名字的冲突。
TimerTask task = new
- Spring Security(13)——session管理
234390216
sessionSpring Security攻击保护超时
session管理
目录
1.1 检测session超时
1.2 concurrency-control
1.3 session 固定攻击保护
 
- 公司项目NODEJS实践0.3[ mongo / session ...]
逐行分析JS源代码
mongodbsessionnodejs
http://www.upopen.cn
一、前言
书接上回,我们搭建了WEB服务端路由、模板等功能,完成了register 通过ajax与后端的通信,今天主要完成数据与mongodb的存取,实现注册 / 登录 /
- pojo.vo.po.domain区别
LiaoJuncai
javaVOPOJOjavabeandomain
POJO = "Plain Old Java Object",是MartinFowler等发明的一个术语,用来表示普通的Java对象,不是JavaBean, EntityBean 或者 SessionBean。POJO不但当任何特殊的角色,也不实现任何特殊的Java框架的接口如,EJB, JDBC等等。
即POJO是一个简单的普通的Java对象,它包含业务逻辑
- Windows Error Code
OhMyCC
windows
0 操作成功完成.
1 功能错误.
2 系统找不到指定的文件.
3 系统找不到指定的路径.
4 系统无法打开文件.
5 拒绝访问.
6 句柄无效.
7 存储控制块被损坏.
8 存储空间不足, 无法处理此命令.
9 存储控制块地址无效.
10 环境错误.
11 试图加载格式错误的程序.
12 访问码无效.
13 数据无效.
14 存储器不足, 无法完成此操作.
15 系
- 在storm集群环境下发布Topology
roadrunners
集群stormtopologyspoutbolt
storm的topology设计和开发就略过了。本章主要来说说如何在storm的集群环境中,通过storm的管理命令来发布和管理集群中的topology。
1、打包
打包插件是使用maven提供的maven-shade-plugin,详细见maven-shade-plugin。
<plugin>
<groupId>org.apache.maven.
- 为什么不允许代码里出现“魔数”
tomcat_oracle
java
在一个新项目中,我最先做的事情之一,就是建立使用诸如Checkstyle和Findbugs之类工具的准则。目的是制定一些代码规范,以及避免通过静态代码分析就能够检测到的bug。 迟早会有人给出案例说这样太离谱了。其中的一个案例是Checkstyle的魔数检查。它会对任何没有定义常量就使用的数字字面量给出警告,除了-1、0、1和2。 很多开发者在这个检查方面都有问题,这可以从结果
- zoj 3511 Cake Robbery(线段树)
阿尔萨斯
线段树
题目链接:zoj 3511 Cake Robbery
题目大意:就是有一个N边形的蛋糕,切M刀,从中挑选一块边数最多的,保证没有两条边重叠。
解题思路:有多少个顶点即为有多少条边,所以直接按照切刀切掉点的个数排序,然后用线段树维护剩下的还有哪些点。
#include <cstdio>
#include <cstring>
#include <vector&