boo

[dfs][dp] Jzoj P4406 拔河

故事扮演 提交于 2021-02-11 04:11:30
Description 有 2n 个人玩拔河,拔河的绳子由左右两段组成,每段绳子上有 n 个位置,第 i 个人可以在左边绳子的 li 位置处,也可以在右边绳子的 ri 位置处。每个位置上有且仅有一个人。每个人有一个实力值 si ,问对于每一种合法方案两边实力值和之差的绝对值最小是多少,如果无解输出 -1 。 Input 第1行一个整数 n。 第2 ~ 2n+1行,每行三个整数li, ri, si Output 一个整数表示所求的答案 Sample Input 6 1 4 12 6 1 3 2 4 5 3 1 13 2 6 15 4 2 8 5 6 9 5 2 14 3 3 5 6 5 10 4 5 15 1 3 13 Sample Output 6 Data Constraint 30%:1 <= n <= 10 70%:1 <= n <= 103 100%:1 <= n <= 3 * 104, 1 <= si <= 15 题解 我们可以将l[i]和r[i]+n连一条边,然后我们发现这就是一个二分图 然后因为每个点都要有一个人,如果一个点度数为0,那么显然要输出-1 如果度数只有1的话,这个点是绝对确定的 那么对于剩下的点,度数都为2,会形成若干偶环 对于每一个偶环,只会有两个种取值方式,顺着走或逆着走,就会产生两个权值,a和b 然后,可以把|a-b|当成一个物品来做背包问题

python之six用法

◇◆丶佛笑我妖孽 提交于 2021-02-10 15:39:46
six.PY2 返回一个表示当前运行环境是否为python2的boolean值 six.PY3 返回一个表示当前运行环境是否为python3的boolean值 import six,sys print (six.PY2) # python2结果为True print (six.PY3) # python3结果为True sys.version_info[0] # PY2 = 2 sys.version_info[0] # PY3 = 3 sys.version_info[0:2] # PY34>= (3, 4) 常量 six.class_types 这里主要是针对python中的old-style和new-style, new-style为type, old-style为 types.ClassType。 python2中同时有old-style和new-style,python3中只有new-style。 six.integer_types 这里针对python2和python3中各自支持的int类型进行了区分:在python2中,存在 int 和 long 两种整数类型;在python3中,仅存在一种类型int。 six.string_types 这里针对python2和python3中各自的string类型进行了区分:在python2中,使用的为basestring

JavaScript数据类型

▼魔方 西西 提交于 2021-01-10 14:05:17
一、JavaScript数据类型主要分为 原始类型 和 引用数据类型 。 原始类型包括(不可拆分的东西):Number、String、Boolean、Null、Undefined。引用数据类型包括:Object(Array,Date,RegExp,Function) typeof(undefined)返回undefined、typeof(null)返回object undefined 实际上是从 null 派生来的,因此 ECMAScript 把它们定义为相等的 引用数据类型也就是对戏那个类型Object type,比如:Object、Array、Function、Date、RegExp等 undefined == null; // true undefined值是派生自null值的 1 == true; // true 比较值,容易理解 2 == true; // false 比较的时候,true转化成1,false转化成0 0 == false; // true 0 == ''; // true NaN == NaN; // false NaN与任何值都不相等,包括NaN本身, [] == false; // true [] == ![]; // true 引用类型   JavaScript的引用数据类型是保存在堆内存中的对象,与其他语言不同的是

java--day04

☆樱花仙子☆ 提交于 2021-01-10 01:49:54
Shoot射击游戏第一天: 1.创建了6个对象类,创建World类测试 Shoot射击游戏第二天: 1.创建6个对象类的构造方法,在World中测试 Shoot射击游戏第三天: 1.设计小敌机数组、大敌机数组、小蜜蜂数组、子弹数组,并测试 2.设计超类FlyingObject,6个对象类继承超类 3.给超类FlyingObject设计两个构造,6个对象类分别调用超类构造 Shoot射击游戏第四天: 1.将小敌机数组、大敌机数组、小蜜蜂数组合为FlyingObject数组,并测试 2.在6个对象类中重写step()移动 3.画窗口 回顾: 1.引用类型数组: Student[] stus = new Student[3]; //创建学生数组对象 stus[0] = new Student("zhangsan",26,"LF"); //创建学生对象 stus[1] = new Student("lisi",26,"LF"); int[][] arr = new int[3][]; arr[0] = new int[2]; 2.继承: 代码复用、extends 超类:共有的 派生类:特有的 派生类继承超类后,派生类具有:超类的+派生类的 一个超类可以有多个派生类,一个派生类只能有一个超类-单一继承 传递性 构造派生类之前必须先构造超类 派生类构造中若自己不调用超类的构造,则默认super

宾馆客房管理系统的设计与实现

天涯浪子 提交于 2020-08-20 05:36:08
课程设计(论文)任务书 软件   学院   软件工程  专业   2016 -07 班 一、课程设计(论文)题目  综合课程设计2  二、课程设计(论文)工作自 2018 年 1 月 1 日起至 2018 年 1 月 12 日止。 三、课程设计(论文) 地点: 软件工程实训中心一部 四、课程设计(论文)内容要求: 1 .本课程设计的目的 (1)使学生熟练掌握数据库基本原理; (2)使学生熟练掌握数据库的分析和设计能力; (3)培养学生熟练使用常见的数据库管理系统; (4)培养学生使用Java语言进行面向对象设计的能力; (5)培养学生熟练使用Java语言进行数据库应用程序设计的能力; (6)提高学生的科技论文写作能力。 2 .基本要求: 课程设计题目: 设计主要内容: 3 .课程设计论文编写要求 (1)要按照书稿的规格打印誊写课设报告; (2)报告分为封面、任务书(本文档)、正文、课程设计体会和参考文献四部分; 学生签名: 2018年1月 1日 课程设计(论文) 评审意见 (1)题目分析 (20分):优( )、良( )、中( )、一般( )、差( ); (2)流程分析  (30分):优( )、良( )、中( )、一般( )、差( ); (3)数据定义  (30分):优( )、良( )、中( )、一般( )、差( ); (4)代码编写  (10分):优( )、良( )、中( )、一般

检查字典中是否已存在给定键

ぐ巨炮叔叔 提交于 2020-08-11 19:53:50
问题: I wanted to test if a key exists in a dictionary before updating the value for the key. 我想在更新密钥值之前测试字典中是否存在密钥。 I wrote the following code: 我写了以下代码: if 'key1' in dict.keys(): print "blah" else: print "boo" I think this is not the best way to accomplish this task. 我认为这不是完成此任务的最佳方法。 Is there a better way to test for a key in the dictionary? 有没有更好的方法来测试字典中的键? 解决方案: 参考一: https://stackoom.com/question/6izm/检查字典中是否已存在给定键 参考二: https://oldbug.net/q/6izm/Check-if-a-given-key-already-exists-in-a-dictionary 来源: oschina 链接: https://my.oschina.net/u/4438370/blog/4296399

离散数学——python实现真值表和打印主范式

|▌冷眼眸甩不掉的悲伤 提交于 2020-08-09 10:04:27
最近用python实现了真值表,经过有点儿曲折,刚开始没考虑优先级,直到前天才发现这个问题(离散数学没学好啊),用栈改了一下。话说python就是强,把列表类型当栈用,直接调用列表的pop()和append()非常方便,废话少说上代码(命令行版)。 首先是导入外部库和定义函数 # 导入正则表达式re库,用来从字符串中提取信息 import re # prettytable库帮我们打印出漂亮的表格 from prettytable import PrettyTable # 过滤掉( def filter_brackets(string): p =re.compile(r ' [(]+(.*) ' ) return (p.findall(string)[0]) # 判断格式是否合理,并返回真值表的列名 def to_show(string): # 利用patten提取括号中的内容 patten=re.compile(r ' [(](.*?)[)] ' ) contents_in_brackets = patten.findall(string) # contents_in_brackets中的元素存在'('的现象,故对所有元素进行遍历过滤掉这些括号 for i in range(len(contents_in_brackets)): if contents_in_brackets[i]

SpringBoot2.x与MongoDB集成(十)

隐身守侯 提交于 2020-08-07 03:21:48
SpringBoot2.x与MongoDB集成(十) 准备工作 介绍MongoDB与Spring Boo集成,并通过 MongoRepository 以及 MongoTemplate 来执行CRUD操作。 Spring Boot:2.3.0.RELEASE Spring Boot Data MongoDB:2.3.0.RELEASE MongoDB:4.2.6 MongoDB Driver:4.0.3 要操作的集合示例数据结构(即model) Department: String id String name String description Array employees Employee: String empId String name int age double salary one to many relationships 安装MongoDB MongoDB快速入门指南与docker-compose快体验 https://www.yuque.com/ekko/database/dkluyg 创建Spring Boot项目 SpringBoot2.x快速入门指南(一) https://www.yuque.com/ekko/spring/qqt7xd 添加Mongo依赖 <dependency> <groupId>org.springframework.boot<

Notes 20180308 : 语句

馋奶兔 提交于 2020-05-07 21:43:05
  在讲解流程控制语句之前,我们先来说一下语句的问题。Java中的语句分为声明和赋值语句,条件和循环语句,调用和返回语句;我们之所以每两个放在一起是有深意的,我们大致将语句分为这三块,并以此为纲来说一下,重点在流程控制语句(条件和循环语句)。   程序就是由一系列的声明、赋值、条件、循环、调用和返回语句组成的。一般来说代码的结果都是嵌套的:一个条件或循环语句中也可以嵌套条件语句或循环语句。而一个函数中可以由若干各种语句组成,若干的函数组成类,正式这样的组合才形成了功能丰富的软件。下面我们从声明和赋值语句讲起; 1.1 声明与赋值语句   声明语句将一个变量名和一个类型在编译时关联起来。Java需要我们在声明语句的时候指定变量的名称和类型。这样我们才能清楚的明白能够对其进行的操作。Java是一种强类型语言,因为Java编译器会检查类型的一致性(例如,它不会允许boolean类型和浮点类型的变量相乘)。变量可以声明在第一次使用之前的任何地方,一般我们会在首次使用时声明它,变量的作用域就是定义它的地方(成员或局部),一般由相同代码段中声明之后的所有语句组成。   赋值语句(由一个表达式定义的)将某个数据类型的值(可以是具体值,也可以是一个引用)和一个变量关联起来。在Java中,我们进行赋值操作,我们表达的不是数学中的等于“=”,而是将一个地址与该变量名绑定,让该变量名指向这个内存地址。

[Unity3D] 03

拥有回忆 提交于 2020-05-07 02:24:32
还需进一步整理! ing... 博客参考 Unity 相关博客: Unity游戏开发爱好者 Unity 3D 连接Mysql数据库 Unity uGUI 登录界面 Unity uGUI 登录及注册功能 Unity之Bmob云存储一 功能归类    按钮: Unity 5 UI Tutorial - Button and event handlers Ref: Unity3D的按钮添加事件有三种方式 Ref : Unity 4.6 uGUI的点击事件 【以上第三方法的补充,通过UI设置】 输入框: Unity 5 UI Tutorial - Input field and event handlers 控件信息获取:点击按钮,获取另一个控件的属性。 using UnityEngine; using UnityEngine.UI; public class Button_event_test : MonoBehaviour { public void Button_Click() { string str_inputField1 = " Hello world - test123 " ; Debug.Log(str_inputField1);       // 获取这个对象 GameObject inputObj = GameObject.Find( " Canvas/Panel