BCC

「赛前备战」NOIp2020-提高 图论训练

99封情书 提交于 2020-08-06 13:01:53
博主太菜,可能会炸联赛,于是恶补一下 QAQ 题目比较基础,动态更新 Tags 生成树 , 最短路 , 差分约束 , 树的直径与重心 , LCA , 树链剖分 , 拓扑序 , 强连通分量 , 割点 , 桥 , 点双连通分量 , 边双连通分量 , 2-SAT , 二分图 , 正/负环 , 最小环 , 数据结构优化建图 Content 「Codeforces 888G」Xor-MST 生成树 「AtCoder JSC2019 Qual E」Card Collector 生成树 「HDU 4725」The Shortest Path in Nya Graph 最短路 「2018-2019 XIX Open Cup, Grand Prix of Korea」Dev, Please Add This! 2-SAT 「2015 ACM Amman Collegiate Programming Contest」Bridges 边双连通分量 树的直径与重心 「HDU 4370」0 or 1 最短路 最小环 「Codeforces 888G」Xor-MST update - 2020.8.4 此题需要用到一个叫 Borůvka 的最小生成树算法,大致就是对现在的每一个连通块都找一遍的最短边,最后每个连通块择优,将这些边全部连上。这样复杂度之正确的原因可以参考启发式合并, \(O(|E|\log |V

BuildRun低代码开发教程第六节 | 产品数据流和功能点开发

生来就可爱ヽ(ⅴ<●) 提交于 2020-08-06 06:31:49
课程说明 第五节中我们已经完成了应用v1.0规划中的功能,从本课程开始我们进入v1.5规划中的内容,本课程涉及到主要的新知识点有: 实现主-从关系 关联值列表参数 联动关联值列表 课程内容 01 数据模型 我们规划的v1.5版本在v1.0基础上增加了数据流和功能点,下面是更新后的业务对象设计。 02 创建选项集 首先定义好在业务对象属性中需要引用的选项集 数据流类型、数据类型、数据传输类型、地理位置类型: 03 创建业务对象 进入应用设计器创建如下两个业务对象,并定义业务对象的属性: 为了方便展示,在此按照属性类型定义来列出: ▍ 3.1 定义文本组件(未列出的属性采用默认值) ▍ 3.2 定义长文本组件(未列出的属性采用默认值) ▍ 3.3 定义整数组件(未列出的属性采用默认值) ▍ 3.4 定义单选组件(未列出的属性采用默认值) ▍ 3.5 定义关联关系(未列出的属性采用默认值) ▍ 3.6 定义关联值列表 在业务对象 数据流 中创建关联值列表: 数据流 1. 在 编辑关联值列表 窗口中,切换到 数据源 视图; 2. 在参数定义区域点击 新增 链接添加一个参数: 参数名称:belongProduct 类型:String 3. 增加一个查询过滤条件: 字段名称:所属产品 关系:等于 值类型:变量或属性 值:belongProduct 变量 4. 切换到 页面设计 视图,从右侧

shell中${}和()的使用

≡放荡痞女 提交于 2020-08-06 05:15:21
1. 截断功能 "${1^^}_DOC_CHANGE_PID" #变量转换为大写 "${1,,}_DOC_CHANGE_PID" #变量转换为小写 ${!DOC_CHANGE_PID} #取变量的值 ${file#*/}: 拿掉第一条/及其左边的字符串:dir1/dir2/dir3/my.file.txt ${file##*/}: 拿掉最后一条/及其左边的字符串:my.file.txt ${file#*.}: 拿掉第一个.及其左边的字符串:file.txt ${file##*.}: 拿掉最后一个.及其左边的字符串:txt ${file%/*}: 拿掉最后条/及其右边的字符串:/dir1/dir2/dir3 ${file%%/*}: 拿掉第一条/及其右边的字符串:(空值) ${file%.*}: 拿掉最后一个.及其右边的字符串:/dir1/dir2/dir3/my.file ${file%%.*}: 拿掉第一个.及其右边的字符串:/dir1/dir2/dir3/my 记忆的方法为: [list]#是去掉左边, ##最后一个 %是去掉右边, %%第一个 2. 字符串提取 单一符号是最小匹配﹔两个符号是最大匹配。 ${file:0:5}:提取最左边的 5 个字节:/dir1 ${file:5:5}:提取第 5 个字节右边的连续 5 个字节:/dir2 3. 字符串替换 ${file

吃瓜!挂一个爬虫工作者

六月ゝ 毕业季﹏ 提交于 2020-08-06 01:26:35
原本不打算撕逼的,可总感觉技术人员这么狗,不曝光他不合适。 ​此人微信号: YGMXMF ​描述如下: 鉴于不可抗力因素,我删除了上篇文章! 此人想178买文章(早就关注了,当时没付费观看,现在要买来看) 感觉因为178承担风险不值,我拒绝了。他加了100元想看那篇文章,我再次拒绝。然后他就举报我!!!! ..............(此处省略各种讽刺和谩骂) ​总结此人: ​1.不能及时把握机会,能付费的时候不付费看 2.不在意别人的风险,由于自己需要就非得买 3.达不到自己目的就举报。。???? 再举个例子: 你要去a地点,但你没车,我就一开滴滴的,刚结束一单,准备系统放单。 你敲窗户问我,载你去a点吧,我说不去!你加了钱,非得上车,我再次拒绝。 然后就能投诉我?还人身攻击? wqnmlgb,小崽子。 本文分享自微信公众号 - 编码天空(gh_97bcc4fe3cc4)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“ OSC源创计划 ”,欢迎正在阅读的你也加入,一起分享。 来源: oschina 链接: https://my.oschina.net/u/4036605/blog/4472831

C# 基础知识系列-13 常见类库(三)

牧云@^-^@ 提交于 2020-08-05 18:21:09
0. 前言 在《C# 基础知识系列- 13 常见类库(二)》中,我们介绍了一下DateTime和TimeSpan这两个结构体的内容,也就是C#中日期时间的简单操作。本篇将介绍Guid和Nullable这两个内容。 1. Guid 结构 Guid(Globally Unique Identifier) 全局唯一标识,是一种由算法生成的二进制长度为128位的字符串,但字符串的长度是36其中32位16进制的数字和四个连接符。其作用是用来表示全局唯一标识,当多个系统或者数据量大的时候,用来做唯一标识,比如说数据库的主键。Guid并不是C#独有的,所以可以放心使用,不用担心跟其他系统交互时遇到对方无法识别的尴尬局面。 Guid应用非常广泛,如果有查看过Windows系统注册表的同学应该见过如下类型的数据: efa4bcc8-b293-48d5-9278-924b9c015b97 ,这就是Guid。Guid甚至被Windows用作组件注册,网络接口标识等。 简单来讲,Guid适合需要不重复标识的场景。 1.1 创建一个Guid Guid的创建非常简单直接通过 Guid.NewGuid() ,示例: class Program { static void Main(string[] args) { Guid guid = Guid.NewGuid(); Console.WriteLine

解决mybatis不加@Parm注解报错问题

安稳与你 提交于 2020-08-05 09:08:56
<build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>${maven.compiler.source}</source> <target>${maven.compiler.target}</target> <compilerVersion>${maven.compiler.source}</compilerVersion> <showDeprecation>true</showDeprecation> <showWarnings>true</showWarnings> ** <compilerArgument>-parameters</compilerArgument> ** </configuration> </plugin> </plugins> </build> 另外查看: 在8以前的jdk版本的时候,我们利用反射只能获取到参数类型,然后参数名字都是利用arg0,arg1,arg2......所以在使用一些反射编程方面上不是很方便,jdk8开始开辟了这项function,但是我们正常情况下使用jvm不会默认保留参数名字,因为这个可能导致class文件过大或其他问题

(最新)iOS高级面试,各大厂以及小公司的面试题!

我怕爱的太早我们不能终老 提交于 2020-08-05 08:23:00
前言 近期的iOS面试求职算是经历了一波小高潮,话不多说,直接切入正题,下面是我总结的2020某些大厂以及小公司的面试题! 目录 1、iOS 基础题 2、iOS 实战题 3、网络题 4、计算机系统题 5、设计模式题 6、架构 & 设计题 7、数据结构&算法题 1、iOS 基础题 1,分类和扩展有什么区别?可以分别用来做什么?分类有哪些局限性?分类的结构体里面有哪些成员? 2,讲一下atomic的实现机制;为什么不能保证绝对的线程安全(最好可以结合场景来说)? 3,被weak修饰的对象在被释放的时候会发生什么?是如何实现的?知道sideTable么?里面的结构可以画出来么? 4,Autoreleasepool 所使用的数据结构是什么? AutoreleasePoolPage 结构体了解么? 5,讲一下对象,类对象,元类,跟元类结构体的组成以及他们是如何相关联的?为什么对象方法没有保存的对象结构体里,而是保存在类对象的结构体里? 6,iOS 中内省的几个方法? class 方法和 objc_getClass 方法有什么区别? 7,RunLoop的作用是什么?它的内部工作机制了解么?(最好结合线程和内存管理来说) 8,哪些场景可以触发离屏渲染?(知道多少说多少) 2、iOS 实战题 1,有哪些场景是NSOperation比GCD更容易实现的?(或是NSOperation优于GCD的几点

短信接口防恶意攻击策略

懵懂的女人 提交于 2020-08-05 04:46:59
如下是用户页面交互。输入手机号,即可获取验证码。用户体验方面已经超级简单了。 不过,简单是要有成本的。安全控制方面,程序员得琢磨。 在系统安全、信息安全、系统安全防御领域,短信盗刷是老生常谈的话题了。我们公司的系统也经历过至少3次盗刷。每次动辄损失2万~5万条的短信。 近几年,随着qq授权登录、微信授权登录等登录方式的流行,短信盗刷的情况似乎是少了。不过,互联网企业总是习惯要留下用户的手机号的,毕竟这么做非常利于流量获取。 短信验证码登陆,通常的做法是图形验证码。简单实现的话,就是 当用户输入的手机号发生变化时,页面异步请求服务端生成图形验证码的接口,服务端返回图片文件流,页面生成验证码图片。用户输入验证码,然后请求服务端获取验证码的接口。服务端会校验用户输入的验证码是否正确,正确了才会发送短信验证码。 因为图形验证码是通过文件流传输的,所以很难破解。当然,倒是有识别图片的工具,不管怎么说,还是有一定难度的。不识别图片呢?随机生成4位验证码,用撞库的方式来恶搞?显然,命中的几率也很小。就是说,用图形正麻烦的方式,恶意攻击的难度比较大。 我们看12306或其他的互联网网站,动不动让选特定的图形,或滑动拼图,或依次选特定的文字,这种安全性都是相当高的。 据说,阿里的招数更绝!可以记录鼠标在页面的轨迹,进而识别出来是人在操作,而非机器模拟。 所谓安全,安防,说白了,是防君子不防小人的

营销策划PPT模板怎么下载?2020全面丰富素材资源都在这

江枫思渺然 提交于 2020-08-05 04:18:24
营销策划类的PPT模板,怎么下载呢?小伙伴们往哪里看,2020年全面、丰富的素材资源都在这个素材资源网站里哦。 随着“六一”儿童节、“十一”国庆黄金周、双十一狂欢、双十二热潮等节日、活动的到来,很多公司职员小伙伴的营销策划类PPT制作工作又得提上日程了。但是,小伙伴们都知道,要完成一个PPT,前期PPT模板的寻找过程是很艰难的。 而这个素材资源网站,可以帮助小伙伴们很快地找到合适的PPT模板。“办公资源网”通过场景、行业与风格进行PPT模板的分类,应用范围十分广泛。通过这3个不同的类别,小伙伴们可以快速寻找到合适的PPT模板。 今天就和大家分享,怎么通过这个素材资源网站下载到合适的营销策划类PPT模板。 第一步:先在网上找到这个网站。进入网站首页后,点击首页右上方的【登录】,进行注册或登录账号。 第二步:注册或登录账号后,点击页面【分类】中的【PPT模板】,选择【场景】中的【营销策划】进行浏览。然后,小伙伴们可以根据“综合”、“最新”、“下载量”与“收藏量”等选项浏览、选择相应的PPT模板。 找到合适的营销策划类PPT模板后,点击该模板,进入模板详情页。点击页面右方的【立即下载】,小伙伴们就能下载到合适的营销策划类PPT模板啦。 看完以上小编的分享内容,小伙伴们知道怎么通过“办公资源网”下载到合适的营销策划类PPT模板了吗? 来源: oschina 链接: https://my

搜狗、字节,iOS面试算法题 (2020)

天涯浪子 提交于 2020-08-04 23:54:09
现在面试iOS中高级开发,算法题已是必然会出现的一个环节了,这里把面试遇到的算法题做一个小汇总,希望对大家有用。大部分公司是需要直接手写算法题的,这块儿的能力不容忽略的。 1:编程实现字符串拷贝,要考虑下内存重叠问题。 (搜狗) 2:对输入的字符串,去除其中的字符‘b’以及连续出现的‘a’和‘c’ (字节) 3:如何求两个 View 的最近公共父类 (字节) 1:编程实现字符串拷贝,要考虑下内存重叠问题。(搜狗) 解决思路 :既然要考虑内存重叠的问题,就是说可能目标地址的起始位置是在源字符串的后半段,或者目标的结束位置在源字符串的前半段。第一种情况,从末尾开始复制可以解决问题,同理:第二种情况,从首位开始复制可以解决问题,代码如下: char *memcpy_qi(char *dst, const char* src, int cl) { assert(dst != NULL && src != NULL); char *ret = dst; if (dst >= src && dst <= src+ cl-1) //内存重叠,从高地址开始复制 { //挪开空间 dst = dst+ cl-1; //将指针挪到结尾 src = src+ cl-1; while (cl—) *dst— = *src—; } else //正常情况,从低地址开始复制 { while (cl—)