题目来源:某为面试/算法第四版:Algs4-1.4.19矩阵的局部最小元素参考思路:传送CODE:importnumpyasnp'''deffindMin():arr=np.random.rand(10,10)index_arr=np.zeros((10,10))foriinrange(arr.shape[0]):forjinrange(arr.shape[1]):ifi>0andi0andj
golang游戏开发学习笔记-开发一个简单的2D游戏(基础篇)
2.人物运动图(只展示第一帧)2.方块纹理图将资源准备完成之后,就能开始代码的开发了五.开始实现!1.资源管理在上一篇文章中我们将纹理和着色器分别封装成了两个类,这里我们创建一个资源管理类对这两个类进行管理,由于golang中是没有静态变量的,需要用包内变量对其进行模拟shader.gopackageresourceimport(“github.com/go-gl/gl/v4.1-core/gl”
Git安装全攻略:避坑指南与最佳实践
编程在手天下我有
git
1、系统环境检查确认操作系统版本(Windows/macOS/Linux)及位数(32/64位)检查是否已安装旧版Git,避免版本冲突确保系统环境变量配置权限2、下载安装包注意事项官方下载地址推荐(避免第三方镜像源)选择与系统匹配的安装包类型(如Windows选.exe,macOS选.dmg)验证安装包完整性(校验SHA值或数字签名)3、安装过程中的关键选项路径选择:避免中文或特殊字符路径组件选择
C++分发器
IT灰猫
c++开发语言
以调用某个算法为例,该算法有一个确定的函数Process,其参数不确定,返回值确定为bool类型,当然Process的返回值也可用模板进行替换,实现更灵活的返回值。#pragmaonce#include#include#include#include#include#includeclassAlgorithmDispatch{public:templatestd::shared_ptralgori
如何设计一个高并发系统?从哪些方面考虑?
真IT布道者
架构性能优化分布式
核心观点:高并发系统设计需要从架构分层、资源扩展、性能优化、容错机制四个维度综合考量,通过分布式架构和异步化等手段实现系统弹性。一、架构分层设计1.分层解耦接入层:使用Nginx/LVS实现负载均衡,采用DNS轮询或Anycast进行流量分发服务层:微服务架构(如SpringCloud或Kubernetes),服务按功能垂直拆分数据层:读写分离(MySQL主从)+分库分表(ShardingSphe
Wireshark的捕获接口设置
没有梦想的程序猿
wireshark测试工具网络
通过Wireshark菜单栏的“捕获”-“选项”和工具栏的“捕获选项”按钮,可以进入接口捕获接口的设置。打开捕获接口设置界面,首先设置“Input”标签。进行接口选择,关掉不必要的接口。选择使用接口模式,选择“混杂模式”,即抓取经过的所有数据包,包括发往本网卡和本网卡转发的。“非混杂模式”,表示只抓取目标地址是本网卡的数据包。也可以在本界面设置过滤器。在“输出”标签,进行输出文件的设置。勾选“自动
同态加密库(HElib)
deepdata_cn
同态加密同态加密
HElib是一个开源的同态加密软件库,由耶鲁大学专家开发,最初由ShaiHalevi和VictorShoup开发,CraigGentry在IBM任职期间也参与相关研究,于2013年5月5日首次发布。主要支持带自举(Bootstrapping)的Brakerski-Gentry-Vaikuntanathan(BGV)方案和近似数Cheon-Kim-Kim-Song(CKKS)方案。一、项目概述开发背
ZooKeeper的使用和基于Curator的JavaAPI操作
Ruined_ofJoker
java-zookeeperzookeeper数据库
Docker下使用ZooKeeper在/usr/local/zookeeper目录下保存ZooKeeper数据与数据卷卷cd/usr/local&&mkdirzookeeper&&cdzookeepermkdirdata开始部署部署命令dockerrun-d-eTZ="Asia/Shanghai"-p2181:2181-v$PWD/data:/data--namezookeeper--restar
使用.NET将PDF转换为Excel
CodeBandit
.netpdfexcel.NET
在.NET开发中,我们经常需要处理不同格式的文件。有时候,我们可能需要将PDF文件转换为Excel文件,以便对数据进行进一步的分析和处理。在本文中,我将向您展示如何使用C#和一些开源库来实现这个目标。步骤1:准备工作在开始之前,我们需要准备一些工具和库:VisualStudio(或其他任何C#开发环境):用于编写和运行C#代码。iTextSharp库:一个开源的.NET库,用于处理PDF文件。您可
MySQL(106)如何设计分片键?
辞暮尔尔-烟火年年
MySQLmysql数据库
设计分片键(ShardingKey)是数据库分片的核心,它决定了将数据分配到不同分片的方式。一个好的分片键应该能够均衡地分布数据,避免热点问题,提高查询性能。下面将详细介绍如何设计分片键,并结合代码进行说明。1.选择分片键的考虑因素唯一性和可变性:分片键应该具有唯一性或较高的离散度,避免集中在某些分片。查询模式:根据查询模式选择合适的分片键,以优化查询性能。数据增长:考虑数据量的增长,分片键应能支
MySQL(105) 如何进行数据库分片?
辞暮尔尔-烟火年年
MySQL数据库mysql
数据库分片(Sharding)是一种将数据库表的数据分布到多个物理数据库实例上的技术,以提高数据库的性能和可扩展性。下面将详细介绍如何在Java中实现数据库分片,包括分片策略、分片管理和数据访问。1.环境准备假设我们使用SpringBoot和MySQL,并且需要分片的表是users表。2.分片策略常见的分片策略有哈希分片(HashSharding)、范围分片(RangeSharding)和列表分片
Tailwind CSS工作原理
TE-茶叶蛋
csscsstensorflow前端
文章目录前言1.指令解析与AST操作**核心处理流程****具体流程说明**2.**配置驱动的样式生成**3.**JIT模式(Just-In-Time)的核心逻辑**4.**插件与自定义扩展**5.**与PostCSS管道的协同**6.**优化与TreeShaking**关键源码逻辑(简化)关键技术细节(底层机制总结)前言TailwindCSS本质上是一个PostCSS插件,其底层工作原理可以拆解
WPF 几种绑定 (笔记)
菜长江
wpf
资源与绑定DataContext(绑定到我们定义的属性)xmlns:local="clr-namespace:模板"以上仅仅是代表放了一个"ViewModel字典"完整引用是"模板\MyViewModel\SharedViewModel"然后并没有去使用它然后要想使用它就得通过指定"Source="{StaticResourceSharedViewModel}"这样就表示Grid绑定上下文对象是我
Java List<Long>转List<String>
剩下的远方
开发java
直接上示例:有时候需要将Long集合转为String类型的集合。finalStringcontractLineNumList=shareContractListEntities.stream().map(ShareContractListEntity::getContractLineNum).map(x->x+“”).collect(Collectors.joining(","));分析:shar
后端技术:利用 MySQL 实现数据加密
大厂资深架构师
SpringBoot开发实战mysql数据库ai
后端技术:利用MySQL实现数据加密关键词:MySQL数据加密、AES加密、数据库安全、数据保护、加密算法、密钥管理、SQL注入防御摘要:本文深入探讨如何在MySQL数据库中实现数据加密,保护敏感信息免受未授权访问。我们将从加密的基本原理出发,详细讲解MySQL支持的多种加密方式,包括AES、SHA等算法的实现方法。文章包含完整的代码示例和最佳实践,帮助开发者在实际项目中应用数据加密技术,同时讨论
tcpdump 抓取icmp数据包
洪大宇
Linuxtcpdump网络linux
#eth1可以替换成你的网卡名称-nn显示IP地址和Mac地址tcpdump-nn-ieth1icmp今天正好有时间做一个简单的补充tcpdump其实和wireshark一样都会识别BPF语法所以做一个简单的补充:BPF语法:dst//目的地址src//原地址host//主机名称port//端口号icmp//icmp协议tcp//tcp协议udp//udp协议一般情况下我们只做一些简单的数据包分析
SQLSERVER 中GO的作用详解
为了省事,直接贴过来的。请看下文详解。usedb_CSharpgoselect*,备注=casewhenGrade>=90then'成绩优秀'whenGrade=80then'成绩良好'whenGrade=70then'成绩及格'else'不及格'endfromtb_Grade如果只是执行一条语句,有没有GO都一样如果多条语句之间用GO分隔开就不一样了每个被GO分隔的语句都是一个单独的事务,一个语
Python爬虫实战:用Tushare和Baostock爬取股票历史数据及K线图与技术指标计算
在金融数据分析和量化交易中,股票历史数据的获取是进行技术分析、回测和策略研究的第一步。传统上,投资者需要依赖付费数据服务,然而如今,借助Python强大的爬虫工具和开源数据接口,我们能够轻松地爬取免费的历史股票数据,并结合K线图与技术指标来进行深入分析。Tushare和Baostock是两个非常流行的开源金融数据接口。Tushare提供了丰富的国内外金融数据,特别是A股市场的历史数据和实时数据,而
Python训练营打卡——DAY16(2025.5.5)
cosine2025
Python训练营打卡python开发语言机器学习
目录一、NumPy数组基础笔记1.理解数组的维度(Dimensions)2.NumPy数组与深度学习Tensor的关系3.一维数组(1DArray)4.二维数组(2DArray)5.数组的创建5.1数组的简单创建5.2数组的随机化创建5.3数组的遍历5.4数组的运算6.数组的索引6.1一维数组索引6.2二维数组索引6.3三维数组索引二、SHAP值的深入理解三、总结1.NumPy数组基础总结2.SH
Unity知识点-Renderer常用材质变量
徐子竣
unity材质游戏引擎
本篇总结了Unity中renderer的3种常用的材质相关的变量:renderer.material,renderer.sharedMaterial,renderer.MaterialPropertyBlock。以及三者对SRPBatcher的影响。一.介绍及对比1.概念介绍1.material定义:material是Render组件(如MeshRenderer)的实例化材质。特点:访问rende
css3 圆形水波纹特效
程序媛之博客
css3前端css
需求描述:需要制作一个动画,特效从圆心开始往外扩散,然后又往回收。效果图:实现代码:.circle{width:100rpx;height:100rpx;background-color:#FF4C4C;border-radius:50%;/*圆形*/box-shadow:inset00010rpxrgba(255,255,255,0.5),/*内阴影,初始半透明圆*/inset00020rpxr
C++智能指针编程实例
lixzest
c++开发语言
智能指针是C++11引入的重要特性,用于自动管理动态分配的内存,防止内存泄漏。下面介绍几种高级智能指针编程实例。1.共享所有权模式(shared_ptr)循环引用问题及解决方案#include#includeclassB;//前向声明classA{public:std::shared_ptrb_ptr;~A(){std::couta_ptr;//这里会导致循环引用~B(){std::cout();
浅说深拷贝(Deep Copy)与浅拷贝(Shallow Copy)
=^_^=喵喵
javascript前端开发语言
在JavaScript中,深拷贝和浅拷贝是两种不同的数据复制方式,主要区别在于如何处理引用类型数据(如对象、数组)。1.浅拷贝(ShallowCopy)定义:只复制对象的第一层属性,如果属性是引用类型(如对象、数组),则复制的是引用,而不是实际数据。特点:原始对象和拷贝后的对象共享引用类型的属性。修改其中一个对象的引用类型属性会影响另一个对象。实现方式:Object.assign()(仅第一层深拷
numpy - np.full 笔记
qq_43632431
numpy笔记opencv
np.full是NumPy中用于创建填充指定值的数组的函数。以下是详细说明:基本语法numpy.full(shape,fill_value,dtype=None,order='C')参数说明shape:数组的形状(元组或整数)fill_value:填充值dtype:数据类型(可选)order:内存布局,'C'或'F'(可选)基本用法示例1.创建一维数组importnumpyasnp#创建长度为5,
lua脚本为什么能保证原子性
一键三联鸭~
lua开发语言
Redis处理客户端请求是基于单线程模型的(Redis6.0开始引入了多线程处理网络IO,但命令执行仍然是单线程的)。这意味着,在任意时刻Redis只会执行一个命令或脚本。这种单线程特性确保了当Redis在执行一个Lua脚本时,不会有其他命令或脚本同时执行。2.Lua脚本被视为一个整体命令当使用EVAL或EVALSHA命令执行Lua脚本时,Redis将整个Lua脚本视为一个不可分割的命令。这意味着
设备管理 -- Udev(二)U盘挂载
273992029
linuxudev
1、检测U盘/etc/udev/rules.d/99-usb-hotplug.rulesACTION=="add",SUBSYSTEM=="block",ENV{ID_BUS}=="usb",ENV{ID_FS_TYPE}=="?*",RUN+="/home/lorentz/usb_hotplug.shadd%k"ACTION=="remove",SUBSYSTEM=="block",ENV{ID
如何快速将iPhone中的文本保存到电脑上
您的iPhone上是否有很多重要的短信,并且您想将短信备份到计算机上?我们都知道传输消息与传输照片不同,但幸运的是,您可以使用相关的工具和方法来实现。我们介绍了4种方法来解释如何将iPhone中的文本保存到计算机。所有的办法都是可行的。那么,让我们尝试一下。第1部分:如何通过iReaShareiPhoneManager将文本从iPhone保存到计算机(最简单)短信是iPhone上的基本信息,我们只
强大的销售团队背后 竟然是大数据分析的身影
蓝儿唯美
数据分析
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&