序号

Codeforces Round #610 (Div. 2) E

岁酱吖の 提交于 2019-12-30 10:04:53
E - The Cake Is a Lie 题意: 输入一个n,给出n-2个三角形。然后把他们拼成一个多边形,多边形的序号和三角形的序号对应,可以是乱序。输出两个东西,一个是三角形的序号,可以随便以哪个序号开头都可以,第二个东西就是我们按照那种顺序拿。 题解: 我们知道每个这个多边形分成n-2个三角形的过程中,每个边最多使用两次,使用一次的边一定是凸包上的边。所以我们这里想到了异或,让和这个顶点相连接的每个顶点都和他异或一下,为什么呢?我们自己考虑,一个顶点如果是在使用两条边上面,那么和它相连接的定点一定有一个顶点和他异或了两次(所以低抵消了)所以三个顶点(不包括自己)只剩下了两个,最后我们拿出只是用一次的边的两个顶点,再和它异或的值异或一下,一定可以抵消只剩下一个顶点,所以我们序号的顺序可以这样处理出来。然后我们怎么输出我们拿三角形的顺序,我们可以通过在三角形之间加连边,使用两次的三角形我们建立一个无向边就可以了。然后按照叶子节点输出。 至于为什么一定要保证a,b,c有序,是因为保证边的唯一性,比如第一次有1,3,第二次是3,1那么就成两条边了,其实是一条。 # include <bits/stdc++.h> using namespace std ; map < pair < int , int > , vector < int > > m ; const int N =

数据报表多种序号生成方式

江枫思渺然 提交于 2019-12-29 09:23:32
报表系统中,往往要对数据进行编号处理,从而使数据的条目更加清晰。在 excel 中,我们可以直接在一个单元格中输入 1,然后按住 Ctrl 向下拖拽单元格就可以自动生成连续的序号。不过除了连续的序号,实际情况中我们还会有其它对序号的需求,例如组内序号,或者是隐藏某些行之后显示连续或不连续的序号,这些又该怎么处理呢?润乾报表提供了一些快速添加序号方式和函数,让我们来一起看一下吧。 概述: 1)对于网格式报表,即数据设置是列表显示的,可以直接在单元格中填写 =seq() 或者是 &Cell ,然后设置该单元格的左主格即可。 2)对于数据设置是分组显示的,还有两种不同的效果:即组内序号和组间序号。 准备工具:润乾报表 V2018 栗子 1:列表式报表显示序号 如下图所示,数据集本身只有后面 7 个字段的值,前面的序号需要根据后面的序号自动扩展生成连续的序号。 实现方式 1: 使用自带的序号函数 seq() 的方式,然后设置单元格的左主格 实现方式 2: 使用自带的序号函数 &Cell,并且设置单元格的左主格 实现方式 3: 使用行序号函数 row(), 因为数据不是从第一行取数的,所以需要减 1,并且设置左主格 栗子 2:扩展数据中隐藏某些行时,显示连续序号 如下图所示:当 G2 的数据大于 50 的时候,就隐藏该行,并显示连续的序号。 如果还继续使用前面的三种方式

Java数字序号转中文读写序号

房东的猫 提交于 2019-12-26 17:16:43
1 public class NumToChineseUtil { 2 3 /** 4 * Java 好用的 5 * int 数字转中文 6 * @param src 7 * @return 8 */ 9 public static String read(int src) { 10 final String num[] = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九"}; 11 final String unit[] = {"", "十", "百", "千", "万", "十", "百", "千", "亿", "十", "百", "千"}; 12 String dst = ""; 13 int count = 0; 14 while(src > 0) { 15 dst = (num[src % 10] + unit[count]) + dst; 16 src = src / 10; 17 count++; 18 } 19 if(dst.startsWith("一十")) { 20 dst = dst.substring(1); 21 } 22 return dst.replaceAll("零[千百十]", "零").replaceAll("零+万", "万") 23 .replaceAll("零+亿", "亿")

数据报表多种序号生成方式

烈酒焚心 提交于 2019-12-18 12:22:24
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 报表系统中,往往要对数据进行编号处理,从而使数据的条目更加清晰。在 excel 中,我们可以直接在一个单元格中输入 1,然后按住 Ctrl 向下拖拽单元格就可以自动生成连续的序号。不过除了连续的序号,实际情况中我们还会有其它对序号的需求,例如组内序号,或者是隐藏某些行之后显示连续或不连续的序号,这些又该怎么处理呢?润乾报表提供了一些快速添加序号方式和函数,让我们来一起看一下吧。 概述: 1)对于网格式报表,即数据设置是列表显示的,可以直接在单元格中填写 =seq() 或者是 &Cell ,然后设置该单元格的左主格即可。 2)对于数据设置是分组显示的,还有两种不同的效果:即组内序号和组间序号。 准备工具:润乾报表 V2018 栗子 1 : 列表式报表显示序号 如下图所示,数据集本身只有后面 7 个字段的值,前面的序号需要根据后面的序号自动扩展生成连续的序号。 实现方式 1: 使用自带的序号函数 seq() 的方式,然后设置单元格的左主格 实现方式 2: 使用自带的序号函数 &Cell,并且设置单元格的左主格 实现方式 3: 使用行序号函数 row(), 因为数据不是从第一行取数的,所以需要减 1,并且设置左主格 栗子 2 : 扩展数据中隐藏某些行时,显示连续序号 如下图所示:当 G2 的数据大于 50 的时候

TCP小总结

女生的网名这么多〃 提交于 2019-12-06 03:02:49
ACK:确认序号有效 SYN:发起一个新连接 FIN:释放一个连接 首部的同步位SYN=1,初始序号seq=x,(SYN=1的报文段不能携带数据)但要消耗掉一个序号,此时TCP客户进程进入SYN-SENT(同步已发送)状态 B收到连接请求报文段后,如同意建立连接,则向A发送确认,在确认报文段中(SYN=1,ACK=1,确认号ack=x+1,初始序号seq=y),测试TCP服务器进程进入SYN-RCVD(同步收到)状态 TCP客户进程收到B的确认后,要向B给出确认报文段(ACK=1,确认号ack=y+1,序号seq=x+1)(初始为seq=x,第二个报文段所以要+1),ACK报文段可以携带数据,不携带数据则不消耗序号。TCP连接已经建立,A进入ESTABLISHED(已建立连接) 当B收到A的确认后,也进入ESTABLISHED状态。 来源: https://www.cnblogs.com/a06088/p/11959578.html

用select提取List元素自身序号

吃可爱长大的小学妹 提交于 2019-12-06 00:19:52
var cs = currentCitys.Select((c, i) => new { id = c.CITY_ID, 序号 = (i + 1).ToString(), 城市类型 = c.IS_FOREIGN == "Y" ? "国际城市" : "国内城市", 名称 = c.NAME }).ToList(); BestFitGridViewColumnsWidth(gdcCitySel, cs.ToDataTable(), 1, false, false,false); 来源: https://www.cnblogs.com/mol1995/p/11953344.html

抓包分析——三次握手实操

放肆的年华 提交于 2019-12-05 23:57:32
三次握手:其中第三和第四行为 SYN报文,向目的地址请求连接,第七第八行收到目的地址的ACK回复,第九第十行发送ACK到目的地址,连接建立。 图 3-1 TCP三次握手 第一次握手:客户端向目的地址发送 TCP,标志位为SYN=1,序号seq=0,50625->代表客户端请求建立连接。 图 3-2 第一次握手 第二次握手:目的地址向客户端返回一个数据包, SYN=1,ACK=1,443->50625,将确认序号设置为客户的序号seq+1,即为1。 图 3-3 第二次握手 第三次握手:客户端收到目的地址发来的包后检查确认序列是否正确,第一次发送的序号 seq加1。以及标志位ACK是否为1。如正确,客户端会再向目的地址发送一个数据包,SYN=0,ACK=1,确认序号=Y+1=1,并把服务器发来ACK 的序号seq加一发送给对方,发送选后seq为X+1=1。客户端收到后确认序号值为ACK=1,50625->443,至此,一次TCP连接就此建立,可以传输数据了。 图 3-4第三次握手 来源: https://www.cnblogs.com/Lrrrr/p/11951705.html

tcp三次握手连接和四次挥手断开过程详解

↘锁芯ラ 提交于 2019-12-05 22:53:33
TCP的连接建立是一个三次握手过程,目的是为了通信双方确认开始序号,以便后续 通信的有序进行。主要步骤如下: 1. 连接开始时,连接建立方(Client)发送SYN包,并包含了自己的初始序号a; 2. 连接接受方(Server)收到SYN包以后会回复一个SYN包,其中包含了对上一个a包 的回应信息ACK,回应的序号为下一个希望收到包的序号,即a+1,然后还包含 了自己的初始序号b; 3. 连接建立方(Client)收到回应的SYN包以后,回复一个ACK包做响应,其中包含了 下一个希望收到包的序号即b+1。 TCP终止连接的四次握手过程如下: 1. 首先进行关闭的一方(即发送第一个FIN)将执行主动关闭,而另一方(收到这 个FIN)执行被动关闭。 2. 当服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一 样,一个FIN将占用一个序号。 3. 同时TCP服务器还向应用程序(即丢弃服务器)传送一个文件结束符。接着这个 服务器程序就关闭它的连接,导致它的TCP端发送一个FIN。 4. 客户必须发回一个确认,并将确认序号设置为收到序号加1。 来源: https://www.cnblogs.com/yzr9/p/11949288.html

TCP的三次握手/建立连接

淺唱寂寞╮ 提交于 2019-12-05 14:08:15
1) 请求端(客户)发送一个SYN(同步序列号)段指明客户打算连接的服务器的端口,以及初始序号(ISN),这个SYN段为报文段1。 2) 服务器发回包含服务器的初始序号SYN报文段2作为应答,同时将确认序号设置为客户的ISN加1以对客户的SYN报文段进行确认。一个SYN占一个序号。 3) 客户必须将确认序号设置为服务器的ISN加1以对服务器的SYN报文段3进行确认。 来源: https://www.cnblogs.com/wdn135468/p/11926797.html

标准库-strings包

心不动则不痛 提交于 2019-12-05 02:51:49
strings包 /* 用来处理字符串的。 检索子串 格式化 比较大小 裁剪 炸碎 拼接 */ 1 package main 2 3 import ( 4 "fmt" 5 "strings" 6 ) 7 8 func main() { 9 10 //判断hello里有没有el字符 11 fmt.Println(strings.Contains("hello","el")) //true 12 13 //asshole里只要有任意一个hello的字符就为true 14 fmt.Println(strings.ContainsAny("hello","asshole")) //true 15 16 //判断是否包含任意字符,单个字符其实会转换成序号 17 fmt.Println(strings.ContainsRune("hello",'h')) //注意单引号 true 18 19 20 //字符和序号之间转换 21 fmt.Printf("%U\n",'h') //U+0068 22 fmt.Printf("%c\n",0x0068) //h 23 24 25 //直接拿序号进行判断 26 fmt.Println(strings.ContainsRune("hello",0x0068)) //true 27 28 //子串在大串里出现的序号是多少 29 fmt.Println