next

Java在ACM中的应用

左心房为你撑大大i 提交于 2020-12-03 22:43:17
由于java里面有一些东西比c/c++方便(尤其是大数据高精度问题,备受广大ACMer欢迎),所以就可以灵活运用这三种来实现编程,下面是我自己在各种大牛那里总结了一些 这里指的java速成,只限于java语法,包括输入输出,运算处理,字符串和高精度的处理,进制之间的转换等,能解决OJ上的一些高精度题目。 1. 输入: 格式为:Scanner cin = new Scanner (new BufferedInputStream(System.in)); 或者、Scanner cin = new Scanner (System.in); 例程: import java.io.*; import java.math.*; import java.util.*; import java.text.*; public class Main { public static void main(String[] args) { Scanner cin = new Scanner (new BufferedInputStream(System.in)); int a; double b; BigInteger c; String st; a = cin.nextInt(); b = cin.nextDouble(); c = cin.nextBigInteger(); d = cin

HCIP-H12-221练习题

匆匆过客 提交于 2020-12-03 14:33:44
HCIP-H12-221练习题 习题1 由于属性AS-PATH不能在AS内起作用,所以规定BGP路由器不会宣告任何从IBGP对等体来的更新信息给其IBGP对等体。 A. 正确 B. 错误 答案: A 习题2 通过重发布命令注入BGP的路由,其Origin属性为Incomplete。 A. 正确 B. 错误 答案: A 习题3 自治系统AS(AUTONOMOUS SYSTEM)是指用户自主定义的,使用统一选路策略的一组路由器的集合。 A. 正确 B. 错误 答案: B 习题4 OSPF邻居的主从关系是通过DD报文进行协商的。 A. 正确 B. 错误 答案: A 习题5 IGMPv1仅包含两种报文类型:成员关系查询和成员关系报告。 A. 正确 B. 错误 答案: A 习题6 两台路由器通过多条物理链路建立一个逻辑BGP对等体时,必须使用peer connect-interface命令。 A. 正确 B. 错误 答案: A 习题7 对于链路状态路由协议,在入方向过滤路由实际上可以阻断链路状态信息的传递,过滤的效果是路由不能被加到本地路由表中,并且它的邻居也不能收到完整的路由状态信息。 A. 正确 B. 错误 答案: B 习题8 OSPF路由协议中,区域内路由的计算涉及的LSA. 类型只有Router-LSA、Network-LSA和Summary LSA。 A. 正确 B. 错误 答案:

Linux并发与同步专题 (2)spinlock

不羁的心 提交于 2020-12-03 11:53:51
关键词: wfe、FIFO ticket-based、spin_lock/spin_trylock/spin_unlock、spin_lock_irq/spin_lock_bh/spin_lock_irqsave 。 《 Linux并发与同步专题 (1)原子操作和内存屏障 》 《 Linux并发与同步专题 (2)spinlock 》 《 Linux并发与同步专题 (3) 信号量 》 《 Linux并发与同步专题 (4) Mutex互斥量 》 《 Linux并发与同步专题 (5) 读写锁 》 《 Linux并发与同步专题 (6) RCU 》 《 Linux并发与同步专题 (7) 内存管理中的锁 》 《 Linux并发与同步专题 (8) 最新更新与展望 》 spinlock同一时刻只能被一个内核代码路径持有,如果有另外一个内核代码路径试图获取一个已经被持有的spinlock,那么该内核代码路径需要一直自旋忙等待,直到锁持有者释放了该锁。 spinlock锁的特性如下: spinlock属于忙等待机制,当无法获取spinlock锁时会不断尝试,直到获取锁为止。 同一时刻只能有一个内核代码路径可以获得所。 要求spinlock锁持有者尽快完成临界区的执行任务。如果临界区执行时间过长,在锁外面忙等待的CPU比较浪费,特别是spinlock临界区里不能睡眠。

VBA-批量修改工作表名称

那年仲夏 提交于 2020-12-03 11:53:01
适用于一张表中有大量的sheet,这些sheet需要按照一定的规律命名 1、代码   在表格中按下Alt+F11打开宏命令编辑区。插入如下的代码,然后运行。 Sub EditSheetName() For i = 2 To Worksheets.Count Worksheets(i).Name = " 信息系统情况(系统 " & (i- 1 ) & " ) " Next End Sub   如果出现:1004,改名称已被占用,则使用 on error resume next   原因是:需要改的和旧的前面名称一致,会提示此错误。建议先整体改其他的名称,避免一致。再改成自己想要的名称。 2、忽略错误 Sub EditSheetName()    For i = 2 To Worksheets.Count    On Error Resume Next      Worksheets(i).Name = " 信息系统情况(系统 " & (i-1)& " ) " Next End Sub 3、笔记: sub .... end sub  定义的一个方法 方法名是EditSheetNeme EXCEL中索引从1开始,worksheets( 1 )代表第一个工作表。 worksheets( " sheetname " )代表工作表名为sheetname的工作表。 On Error Resume

QUIC Weekly 每周一草(20201125期)

十年热恋 提交于 2020-12-02 15:15:22
关于QUIC协议的论文、IETF进展、博客、视频等等 QUIC 的全称是 Quick UDP Internet Connections protocol, 由 Google 设计提出,目前由 IETF 工作组推动进展。其设计的目标是替代 TCP 成为 HTTP/3 的数据传输层协议。熹乐科技在物联网(IoT)和边缘计算(Edge Computing)场景也一直在打造底层基于 QUIC 通讯协议的低时延边缘计算框架 YoMo ,长时间关注 QUIC 协议的发展,遂整理该文集并配以适当的中文翻译,方便更多关注 QUIC 协议的人学习。 在线社区:🍖 discord/quic 维护者:🦖 YoMo QUIC Weekly - 20201125期 Wikipedia 上更新了关于 HTTP/3 的章节: HTTP/3 - Wikipedia IETF-QUIC 的标准依赖树 Daniel Stenberg 的新 Keynote HTTP/3 是下一代 HTTP QUIC 在 5G 网络中的实验: QUIC Throughput and Fairness over Dual Connectivity Google's cloud gaming platform Stadia is using QUIC 跟坚哥学QUIC系列:4 - 连接迁移(Connection Migration)

第四代Express框架koa简介

让人想犯罪 __ 提交于 2020-12-02 13:25:02
文章目录 简介 koa和express koa使用介绍 中间件的级联关系 koa的构造函数 启动http server 自定义中间件 异常处理 简介 熟悉Spring MVC的朋友应该都清楚Spring MVC是基于servlet的代码框架,这是最传统的web框架。然后在Spring5中引入了Spring WebFlux,这是基于reactive-netty的异步IO框架。 同样的,nodejs在最初的Express 3基础上发展起来了异步的koa框架。koa使用了promises和aysnc来避免JS中的回调地狱,并且简化了错误处理。 今天我们要来介绍一下这个优秀的nodejs框架koa。 koa和express koa不再使用nodejs的req和res,而是封装了自己的ctx.request和ctx.response。 express可以看做是nodejs的一个应用框架,而koa则可以看成是nodejs 的http模块的抽象。 和express提供了Middleware,Routing,Templating,Sending Files和JSONP等特性不同的是,koa的功能很单一,如果你想使用其他的一些功能比如routing,sending files等功能,可以使用koa的第三方中间件。 koa并不是来替换express的,就像spring

LCA ST表

落花浮王杯 提交于 2020-12-02 07:05:21
// LCA // ST表 在线 #include<iostream> #include <cstdio> #include <cstring> #include <cstdlib> #include <cmath> #include <algorithm> #define maxn 500001 using namespace std; int n,m,cnt,root,head[maxn],depth[maxn]; int order[ 2 *maxn],first[maxn]; // order[x]dfs中第x次遍历的点(重复) first[x]记录点x在dfs中首次遍历顺序(不重复) int lg[ 2 *maxn],f[ 2 *maxn][ 21 ]; // lg[x]记录log2x的向下取整值 f[x][k]表示包含x点共2^k个点中最小值 struct uio{ int next,to; }edge[ 2 * maxn]; void add( int x, int y) { edge[ ++cnt].next= head[x]; edge[cnt].to = y; head[x] = cnt; } void dfs( int x, int pre) // pre为上次遍历过节点 防止走重 { order[ ++cnt]= x; first[x] = cnt; for

用hexo搭建个人博客

99封情书 提交于 2020-12-02 05:39:43
[TOC] 前言 现如今搭建个人博客并不是一个非常难的事情,你甚至不需要会代码,因为有现成的框架。现在我将要搭建的博客是利用hexo搭建博客,托管在GitHub上。 什么是hexo Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。 准备工作 首先准备 GitHub 账号 GitHub提供了GitHub Pages 帮助我们来架设一个静态网站,所以我们就不需要服务器了;因为Hexo 可以直接将文章编译成静态网页文件并发布,所以这样文章的内容、标题等信息就没必要存数据库里面了,是直接纯静态页面了,也就不需要数据库了。 安装 git 虽然也能用cmd来安装使用,但可能会出现问题,最好全程使用git bash 安装 node.js Hexo需用通过npm安装,而npm需要node,现在只要安装node 就自带 npm了 安装完成后,在打开cmd终端输入 node -v npm -v 确认添加到环境变量 因为我们是要通过npm来安装,而npm在国内下载很慢,需要更换为国内镜像源,这里使用淘宝的镜像源 右键打开git bash, 输入命令 npm install -g cnpm --registry=https://registry.npm.taobao.org 可能要等一会

RCU介绍

蹲街弑〆低调 提交于 2020-12-02 00:54:13
RCU原理:      RCU(Read-Copy Update),顾名思义就是读-拷贝修改,它是基于其原理命名的。对于被RCU保护的共享数据结构,读者不需要获得任何锁就可以访问它,但写者在访问它时首先拷贝一个副本,然后对副本进行修改,最后使用一个回调(callback)机制在适当的时机把指向原来数据的指针重新指向新的被修改的数据。这个时机就是所有引用该数据的CPU都退出对共享数据的操作。 因此RCU实际上是一种改进的rwlock,读者几乎没有什么同步开销,它不需要锁,不使用原子指令,而且在除alpha的所有架构上也不需要内存栅(Memory Barrier),因此不会导致锁竞争,内存延迟以及流水线停滞。不需要锁也使得使用更容易,因为死锁问题就不需要考虑了。写者的同步开销比较大,它需要延迟数据结构的释放,复制被修改的数据结构,它也必须使用某种锁机制同步并行的其它写者的修改操作。读者必须提供一个信号给写者以便写者能够确定数据可以被安全地释放或修改的时机。有一个专门的垃圾收集器来探测读者的信号,一旦所有的读者都已经发送信号告知它们都不在使用被RCU保护的数据结构,垃圾收集器就调用回调函数完成最后的数据释放或修改操作。 RCU与rwlock的不同之处是:它既允许多个读者同时访问被保护的数据,又允许多个读者和多个写者同时访问被保护的数据(注意

如何安装windows和linux双操作系统?

三世轮回 提交于 2020-12-01 13:20:24
如何安装windows和linux双操作系统? 一、win压缩卷: 1.右键此电脑,选择管理,选择磁盘管理。 2.挑选一个磁盘然后右击选择压缩卷,空间大小自己确定。 二、下载复刻工具和iso光盘映像文件: 1.把它们都下载好,然后点击运行刻录工具。 2.所有选项都默认,然后点击next就完事。然后到这个界面。 3.选择好映像文件和U盘,开始写入。(注意写入后,U盘所有文件将被覆盖。) 4.写入完成。 5.将电脑关机。 三、开始安装linux系统: 1.开机时,持续摁自己电脑机型对应的键来进入BIOS,我的是esc键。 2.选择U盘驱动 3.点击桌面上Install Ubnmtu 18.04.5 LTS,出现欢迎界面,可以自己选语言。 4.键盘输入可以如图选:(语言按自己习惯选) 5.选正常安装: 6.安装类型: 7.安装,几分钟后出现如下界面: 四、问题:wifi无法使用,已解决。 目标:在已经安装了windows操作系统的情况下,安装一个ubuntu桌面版,以便每次在开机时可以选择要使用的操作系统。 一、win压缩卷: 这一步是从磁盘中分割空间供linux系统使用。 1.右键此电脑,选择管理,选择磁盘管理。 2.挑选一个磁盘然后右击选择压缩卷,空间大小自己确定。 注意:至少10G以上。 二、下载复刻工具和iso光盘映像文件: 我们需要下载的资源包如图: ubuntu-18.04