pd

Codeforces 1296C - Yet Another Walking Robot

£可爱£侵袭症+ 提交于 2020-02-05 01:47:21
题目大意: 给定一个机器人的行走方式 你需要取走一段区间 但要保证取走这段区间后机器人最终到达的终点位置是不变的 问这段区间最短时是哪一段 解题思路: 易得,如果重复走到了某些已经走过的点,那么肯定就有一段区间可以被删除 但是行走次数最大有2e5,即用数组记录坐标状态的话起码要开4e5*4e5的空间,显然不可能 所以可以用map储存上一次走到某个坐标是第几步 那么每次只要判断当前的坐标是否已经被走过即可,走过的话就尝试更新答案 因为map中未调用过的int值为0 所以让原点的步数设置为1防止混淆 初始设置 l=0,r=n+1去最大化这个答案区间,便于第一次判断得以执行 然后,遍历这个字符串,如果发现某个点已经走过了,取出这个步数为 d 可以得到 d+1~i 这一段是可以删除的(d步不可取,因为那一步走完才能到达这个点) 那么就拿 i-(d+1) 和 r-l 作比较,即当 r-l>i-(d+1) => r-l>=i-d 时,更新lr答案 最后把第一步的步数减回去就可以作为答案了(l=0,说明不存在) 1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 struct P{ 5 int x,y; 6 bool operator < (const P& a) const{ 7 return x

QIs for Spread

感情迁移 提交于 2020-02-04 12:57:25
玩了好几天,看了好多剧,所以这几天的进度稍微有点慢,另外,《一起同过窗》真香! 延展特性涉及解集覆盖的区域。一个具有良好分布的解集应该包含来自PF每个部分的解集,而不遗漏任何区域。然而,大多数扩展的QIs只度量解决方案集的范围(extent)。下表为总结: 这些QIs通常考虑 the range formed by the extreme solutions of the set (由集合的极值解构成的范围),例如maximum spread,和它的变体[25] [27] [28] [29] [30] [33],或者 考虑 the range enclosed by the boundary solutions of the set (集合的边界解所围成的范围),实例如下图: 只考虑这些解的QIs可能会忽略PF的内部区域。 幸运的是,确实存在一些为解决方案集的整个覆盖范围设计的QIs。 例如,[23]测量解集的支持点的面积和长度;[24]计算解集在PF的最大不相似度;[31]将每个解与解集的其余解的不同之处相加。 Maximum Spread (MS) $MS(or mathcal{M}_3^*)$ 被广泛的使用于延展性indicator。它通过考虑每个目标的最大范围来度量解决方案集的范围,公式为: m 是目标函数的个数。MS应求极大值。值越高,说明的可延展性越好,在二元目标情形下

get_dummies的编码用法

柔情痞子 提交于 2020-01-29 02:02:14
one-hot encoding one-hot的基本思想:将离散型特征的每一种取值都看成一种状态,若你的这一特征中有N个不相同的取值,那么我们就可以将该特征抽象成N种不同的状态,one-hot编码保证了每一个取值只会使得一种状态处于“激活态”,也就是说这N种状态中只有一个状态位值为1,其他状态位都是0。 pandas.get_dummies(data, prefix=None, prefix_sep='_', dummy_na=False, columns=None, sparse=False, drop_first=False) 参数说明: data : array-like, Series, or DataFrame 输入的数据 prefix : string, list of strings, or dict of strings, default None get_dummies转换后,列名的前缀 columns : list-like, default None 指定需要实现类别转换的列名 dummy_na : bool, default False 增加一列表示空缺值,如果False就忽略空缺值 drop_first : bool, default False 获得k中的k-1个类别值,去除第一个 1.新增列为one-hot形式 # change weekday to

致敬70—我爱你中国

旧城冷巷雨未停 提交于 2020-01-28 06:15:47
国旗,星星,70,i,♥,u 一个简单的图画致敬70 import turtle as t def picture ( x1 , y1 , x , y ) : t . up ( ) t . goto ( x1 , y1 ) t . down ( ) t . begin_fill ( ) t . fillcolor ( "yellow" ) for i in range ( 5 ) : t . fd ( x ) t . left ( y ) t . end_fill ( ) t . speed ( 10 ) t . bgcolor ( "red" ) t . color ( "yellow" ) t . speed ( 10 ) picture ( - 650 , 230 , 100 , 144 ) picture ( - 431 , 290 , 60 , 144 ) picture ( - 430 , 181 , 60 , 144 ) picture ( - 500 , 81 , 60 , 144 ) picture ( - 610 , 65 , 60 , 144 ) t . speed ( 10 ) t . pencolor ( "gold" ) t . pensize ( 25 ) t . pu ( ) t . goto ( 10 , 10 ) t . pd ( ) t .

python-pandas-numpy DAY_16(1)

懵懂的女人 提交于 2020-01-24 18:55:50
学习内容 pandas的基本操作 重点 1.更改数组的索引,并对新索对应内赋值 import numpy as np import pandas as pd dates = pd . date_range ( "20190124" , periods = 6 ) df = pd . DataFrame ( np . arange ( 24 ) . reshape ( 6 , 4 ) , index = dates , columns = [ 'A' , 'B' , 'C' , 'D' ] ) df1 = df . reindex ( index = dates [ 0 : 4 ] , columns = list ( df . columns ) + [ "E" ] ) print ( df ) print ( df1 ) df1 . loc [ dates [ 1 : 3 ] , "E" ] = 2 print ( df1 ) 结果如下 A B C D 2020 - 01 - 24 0 1 2 3 2020 - 01 - 25 4 5 6 7 2020 - 01 - 26 8 9 10 11 2020 - 01 - 27 12 13 14 15 2020 - 01 - 28 16 17 18 19 2020 - 01 - 29 20 21 22 23 A B C D E 2020

pandas的数据的导入导出

南笙酒味 提交于 2020-01-18 22:28:57
在进行pandas处理数据的时候,我们需要将数据导入到内存,进行处理后,再存储成相关内容的格式 数据的导入 pd . read_csv ( filename ) :从CSV文件导入数据 pd . read_table ( filename ) :从限定分隔符的文本文件导入数据 pd . read_excel ( filename ) :从Excel文件导入数据 pd . read_sql ( query , connection_object ) :从SQL表 / 库导入数据 pd . read_json ( json_string ) :从JSON格式的字符串导入数据 pd . read_html ( url ) :解析URL、字符串或者HTML文件,抽取其中的tables表格 pd . read_clipboard ( ) :从你的粘贴板获取内容,并传给read_table ( ) pd . DataFrame ( dict ) :从字典对象导入数据,Key是列名,Value是数据 数据的导出 df . to_csv ( filename ) :导出数据到CSV文件 df . to_excel ( filename ) :导出数据到Excel文件 df . to_sql ( table_name , connection_object ) :导出数据到SQL表 df . to

Python使用turtle库绘制小猪佩奇

隐身守侯 提交于 2020-01-16 05:26:33
Python使用turtle库绘制小猪佩奇 # -*- coding:utf-8 -*- import turtle as t import time def main ( ) : t . pensize ( 4 ) t . hideturtle ( ) t . colormode ( 255 ) t . color ( ( 255 , 155 , 192 ) , "pink" ) t . setup ( 840 , 500 ) t . speed ( 10 ) # 鼻子 t . pu ( ) t . goto ( - 100 , 100 ) t . pd ( ) t . seth ( - 30 ) t . begin_fill ( ) a = 0.4 for i in range ( 120 ) : if 0 <= i < 30 or 60 <= i < 90 : a = a + 0.08 t . lt ( 3 ) # 向左转3度 t . fd ( a ) # 向前走a的步长 else : a = a - 0.08 t . lt ( 3 ) t . fd ( a ) t . end_fill ( ) t . pu ( ) t . seth ( 90 ) t . fd ( 25 ) t . seth ( 0 ) t . fd ( 10 ) t . pd ( ) t .

Harry And Math Teacher

六月ゝ 毕业季﹏ 提交于 2020-01-13 03:56:53
一、题目 点此看题 题目描述 有 n n n 层楼,每层有两个门(编号为 1 / 2 1/2 1 / 2 ), i i i 层到 i + 1 i+1 i + 1 的门两两相通,有下列操作: 把 i i i 层到 i + 1 i+1 i + 1 层的 x , y x,y x , y 两个门的状态改变(联通变成不同,不同变成联通) 询问 x x x 到 y y y 的方案数,可以从 x x x 任意门入, y y y 任意门出。 数据范围 多组数据, 1 ≤ n , m ≤ 50000 1\leq n,m\leq 50000 1 ≤ n , m ≤ 5 0 0 0 0 二、解法 考虑 d p [ i ] [ 0 / 1 ] dp[i][0/1] d p [ i ] [ 0 / 1 ] 也就是到了 i i i 层的 1 / 2 1/2 1 / 2 号门的方案数, p d [ i ] [ j ] pd[i][j] p d [ i ] [ j ] 表示 i , j i,j i , j 号门之间有无通路,有下列转移: d p [ i ] [ 0 ] = p d [ 0 ] [ 0 ] × d p [ i − 1 ] [ 0 ] + p d [ 1 ] [ 0 ] × d p [ i − 1 ] [ 1 ] dp[i][0]=pd[0][0]\times dp[i-1][0]+pd[1][0]

Type-C PD协商过程解析

|▌冷眼眸甩不掉的悲伤 提交于 2020-01-11 04:44:22
Type-C PD协商过程解析 Type -C的PD(Power Delivery)允许设备通过Type-C端口协商功率,如: 1. 5V 3A 2. 9V 3A 3. 15V 3A 4. 20V 5A 最大可到100W的输出 PD协商 PD协商通过功率提供者(provider)和功率消费者(Consumer)之间的信息交换完成的,功率提供者如手机充电器,功率消费者如手机。 图1 解释上图中的DFP和UFP DFP:Downstream Facing Port。是下行端口,通常这种端口在Host上或者在USB的Hub上 UFP:Upstream Facing Port。是上行端口,通常这种端口在device上或者连接host的hub上 PD协商通过Type-C的哪个引脚来做的呢? 图2 看图2是Type-C的引脚定义。 USB PD协议规定CC(Configuration Channel)作为PD协商信息交换的引脚。 PD协商的全过程 如图1(下面的描述Provider简化为P,Consumer简化为C) 1. P首先发起PD协商,向C发送P具有的Power能力的消息,也就是P支持哪些功率类型 2. C收到P发送的Power能力的消息后,分析P的Power能力并选择其中一个Power配置发送给P 3. P收到C请求的power配置,决定是否接受这个请求 4.

ES6 基础学习

拈花ヽ惹草 提交于 2019-12-29 01:15:36
ECMAScript 6 标准入门 一、let和const let命令 let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效;是块级作用域,且 let 不允许在相同作用域内,重复声明同一个变量。 { let a = 12; } console.log(a); //Uncaught ReferenceError: a is not defined { let a = 12; let a = 22; } console.log(a); //Uncaught SyntaxError: Identifier 'a' has already been declared 另一个例子: var a = []; for (var i = 0; i < 10; i++) { a[i] = function () { console.log(i); }; } a[6](); 上面代码中,变量 i 是 var 命令声明的,在全局范围内都有效,所以全局只有一个变量 i 。每一次循环,变量 i 的值都会发生改变,而循环内被赋给数组 a 的函数内部的 console.log(i) ,里面的 i 指向的就是全局的 i 。也就是说,所有数组 a 的成员里面的 i ,指向的都是同一个 i ,导致运行时输出的是最后一轮的 i 的值,也就是10。 如果使用 let