洛谷 P5507 【机关】解题报告

题目 基本思路和算法(A*)大佬们都讲的很详细了(不会的点这里),这里就提供一个小小的但很实用优化。 离AC只差一步的可以来看看 《算法竞赛进阶指南》第124页写到“估价函数的估值不能大于未来的实际价值”,但在这题中,稍稍提高一点估值可以大大提高程序运行效 优化前 优化后 优化前后效率快了将近一倍,而优化所做的所有改变就是在估价函数上乘了一个系数 一般的估价函数:每个旋钮距离目标状态(1)的差值之和除以2(取上整) bool operator < (const e &a) const {
分类: 其他 发布时间: 08-25 21:48 阅读次数: 0

洛谷P5522 【[yLOI2019] 棠梨煎雪】

区间操作考虑用线段树维护。 建\(n*2\)棵线段树,前\(n\)棵线段树维护每个串的第i位是否是0。 后\(n\)棵线段树维护每个串的第i位是否是1。 把状态压缩成一个\(int\),最多30位,转换成十进制\(int\)能存下。 像这样这棵线段树。 然后的建树、查询、更改操作其实就是类似一个模板。 建树: void build(int hao,int l,int r) { if(l==r) { for(int i=1;i<=n;i++) {
分类: 其他 发布时间: 08-25 21:48 阅读次数: 0

redis 高性能的原因

1. redis 数据存储在内存中; 2. redis 是单线程; 3. redis 多路复用: 指令先放到队列里 4.redis 使用resp 协议
分类: 其他 发布时间: 08-25 21:48 阅读次数: 0

洛谷P5520 【[yLOI2019] 青原樱】

这题是小学奥数啊。 题意:求\(m\)个不同物品两两不相邻的方案数。 直接排列组合。 我们可以减掉他们之间最少需要空出来的位数——\(m-1\)个空位 像这样,我们只用留\(m-1\)个空位放在每两个物品中间使他们两两不相邻即可。 所以剩下的位置有\(n-m+1\)个空位。 这个问题就转换成了一下这个问题: 给定\(n-m+1\)个位子,放入m个不同物品的方案数。 直接排列一下就好了。 \(ans\)=\(A_{n-m+1}^{m}\) #include<bits/stdc++.h> usin
分类: 其他 发布时间: 08-25 21:48 阅读次数: 0

AcWing 844 走迷宫 BFS模板题

AcWing 844 走迷宫 题目链接:https://www.acwing.com/problem/content/846/ 给定一个n*m的二维整数数组,用来表示一个迷宫,数组中只包含0或1,其中0表示可以走的路,1表示不可通过的墙壁。 最初,有一个人位于左上角(1, 1)处,已知该人每次可以向上、下、左、右任意一个方向移动一个位置。 请问,该人从左上角移动至右下角(n, m)处,至少需要移动多少次。 数据保证(1, 1)处和(n, m)处的数字为0,且一定至少存在一条通路。 输入格式 第
分类: 其他 发布时间: 08-25 21:48 阅读次数: 0

博客园markdown编辑器代码折叠

<script type="text/javascript"> $(document).ready(function () { var pres = $("pre"); for (var i = 0; i < pres.length; i++) { $(pres[i]).attr('id', 'pre' + i); $(pres[i]).children('code'
分类: 其他 发布时间: 08-25 21:48 阅读次数: 0

wqy的C题

wqy的C题 毒瘤! 题意: 你有一张 $ n $ 个点 $ m $ 条边的无向图。 你想在这张图上添加 $ n $ 条有向边,每一条有向边连接两个点 $ u,v $ ,你需要保证 $ u,v $ 在原图上不联通,且每一个点刚好作为一条有向边的起始点和另一条有向边的终止点。 注意一个点到自身也算联通。 解法: 1.10pts 观察到有一个点是完全图,所以直接输出 $ 0 $ 就有10分 2.40pts 当 $ m=0 $ 的时候,考虑错排公式的推导过程,这个图就可以转化成一个错排经典模型 3.
分类: 其他 发布时间: 08-25 21:48 阅读次数: 0

Day8---Python的字典类型及操作

字典类 1.生成方法:     a.介绍:       字典是键值对的集合,键值对 : 键是数据索引的扩展     b.生成方法:   使用{} 或者 dict() a = {'a' = 1, 'b' = 2, 'c' = 3} a = dict(a=1,b=2,c=3) a = {}#可用于生成空的dictionary 需要注意的是 : {} 默认生成字典 所以不能用于生成集合 2.字典类的方法 : 1 del d[k] # 删除该key和对应的value 2 k in d #
分类: 其他 发布时间: 08-25 21:48 阅读次数: 0

手把手教你用VUE开发后台管理系统(一):搭建VUE环境

一、VUE是什么 【官方介绍】Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。 具体请参考VUE官网:https://cn.vuejs.org/v2/guide/# 现在官网还有视频教学 二、为什么要学习VUE 以往,开发
分类: 其他 发布时间: 08-25 21:48 阅读次数: 0

powerDesigner关联数据库显示中文注释

  最近使用powerdesigner,遇到些问题,记录一下【安装过程就略过了】 一、安装odbc驱动   分享下驱动,百度网盘链接:https://pan.baidu.com/s/1UYPq_PEQkDOJ3qoaAgrACA 密码:7b8m   安装32位的即可 二、步骤【图片】       三、注释转换脚本 Option Explicit ValidationMode = True InteractiveMode = im_Batch D
分类: 其他 发布时间: 08-25 21:48 阅读次数: 0

【USACO06JAN && POJ3179】Corral the Cows

POJ 洛谷 分析 离散化+前缀和+二分 这题和激光炸弹很像,但由于坐标范围较大,需要用到二分。 代码 #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #define il inline #define maxn 10007 #define re register #define tie0 cin.tie(0),cout.tie(0) #define fastio ios::sync_w
分类: 其他 发布时间: 08-25 21:48 阅读次数: 0

JUC 简介

java.util.concurrent(简称JUC)包,在此包中增加了在并发编程中很常用的工具类 用于定义类似于线程的自定义子系统,包括线程池,异步 IO和轻量级任务框架,还提供了设计用于多线程上下文中 的Collection实现等 volatile、synchronized 和 final 实现可见性。 synchronized 和在 lock、unlock 中操作保证原子性。 volatile 和 synchronized 两个关键字来保证线程之间操作的有序性 volatile 关键字
分类: 其他 发布时间: 08-25 21:48 阅读次数: 0

pycharm在进行debug时不小心把console关闭了,恢复console的办法

点击下图中右边的箭头就恢复了 此时可看到console已恢复
分类: 其他 发布时间: 08-25 21:48 阅读次数: 0

10nm首秀!这就是英特尔十代酷睿

英特尔正式发布了11款第十代英特尔酷睿处理器,分为U系列和Y系列专为2合1电脑和笔记本设计。最大亮点是可将人工智能大规模应用于PC,同时还配备有英特尔锐炬Plus显卡。首款产品将在上海ChinaJoy 2019亮相。 十代酷睿处理器规格 第十代酷睿Ice Lake处理器总共包括11款,其中U系列有6款,Y系列有5款。其中,U系列有两款i7、三款i5、一款i3,旗舰型号是酷睿i7-1068G7,它拥有4核心8线程,支持64个Iris Plus锐炬核显EU单元,8MB三级缓存,TDP 28W,基础
分类: 其他 发布时间: 08-25 21:48 阅读次数: 0

34年了:Windows计算器终于加入这俩功能

早在1984年的Windows 1.0上,计算器应用就预装在系统里。不过,34年时间过去,除了换算功能有所增加,计算器程序可以说是停滞不前。 好在微软将计算器源码开源,并托管到了GitHub上。群智群力后,Win10计算器开始添加个性化功能。 负责编写记事本和计算器的Dave Grochocki已经完成新版计算器的开发工作,此次新增两个贴心功能,一是保持窗口在最前,二是迷你模式。 新版Win10计算器开发完毕:新增总在最前和迷你模式 显然,两个功能若加以结合,特别适合那些要连续进行一连串计算的
分类: 其他 发布时间: 08-25 21:48 阅读次数: 0

c语言练习22––3v3组队分组问题,不完美,可优化

#include<stdio.h> #include<stdlib.h> //两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打 //听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。 int main(){ int x=1,y=2,z=3,a,b,c; for(a=1;a<=3;a++) for(b=1;b<=3;b++) for(c=1;c<=3;c++)
分类: 其他 发布时间: 08-25 21:48 阅读次数: 0

[CF1037H]Security

题意 https://codeforces.com/contest/1037/problem/H 思考 贪心的思路是,尽可能多地找到读入串的一段前缀,然后再添上一个字典序比较大的字符。 先对原串建立SAM,考虑到有区间限制,需线段树合并维护endpos集合。 对于一个询问,我们现在SAM上找对它的前缀对应的节点。若存在,继续;否则就没必要找下去了。然后回溯这个过程,只要某个节点处出现大于当前字符的出边,直接输出答案。 时间复杂度$O(26*n*logn)$。 代码 1 #include<b
分类: 其他 发布时间: 08-25 21:48 阅读次数: 0

谈谈JVM垃圾回收

概述 Java运行时区域中,程序计数器,虚拟机栈,本地方法栈三个区域随着线程的而生,随线程而死,这几个区域的内存分配和回收都具备确定性,不需要过多考虑回收问题。而Java堆和方法区则不一样,一个接口的多个实现类需要的内存不一样,一个方法的多个分支需要的内存可能也不一眼,我们只有在运行期,才能知道会创建的对象,这部分的内存分配和回收,是垃圾回收器所关注的。垃圾回收器需要完成三个问题:那些内存需要回收;什么时候回收以及如何回收。 那些垃圾需要回收 垃圾回收的基本思想是考察一个对象的可达性,即从根节
分类: 其他 发布时间: 08-25 21:48 阅读次数: 0

利用window对象下内置的子对象实现网页的刷新

这里我们用到的window对象下内置的子对象有: 1.history对象:包含浏览器访问过的url。我们可以利用它的history.go(num);属性实现页面的刷新: history.go(num); //跳转到指定num的历史记录,num为正向前跳转,num为负,向后跳转,跳转数为num;             但当我们将num设为0时,即:history.go(0);跳转到当前页面,即可实现对当前页面的刷新; 2.location对象:包含当前url的相关信息,而history对象不能
分类: 其他 发布时间: 08-25 21:48 阅读次数: 0

周学习进度总结(2019.8.25)

(1)本周完成了java基础知识部分的学习,并解决了PAT中的几道题目。 (2)下周学习java进阶知识部分,继续解决PAT题目。
分类: 其他 发布时间: 08-25 21:48 阅读次数: 0