[题解]洛谷P1966 火柴排队
原题链接 对于两个队列a,b,求怎么每次只序列中交换相邻两个数使∑(a[i]-b[i])2 最小,输出次数对99,999,997取余 展开得:∑a[i]2+b[i]2 -∑2a[i]b[i] 而∑a[i]2+b[i]2 是不变的,所以只要最大化∑2a[i]b[i]即可。 首先可以确定,对两个序列的变化完全可以集中到一个序列里完成 一个贪心策略:将a中最大的数和b中最大的数配对,第二大的和第二大的…… 然后把a中每一个数的标记设为他应该对应的b[i]的i,设这个标记序列为c 然后对c从小到大排序
[BZOJ 1968] [AHOI 2005] 约数研究
Description Input 只有一行一个整数 \(N\)。 Output 只有一行输出,为整数 \(M\),即 \(f(1)\) 到 \(f(N)\) 的累加和。 Sample Input 3 Sample Output 5 HINT \(0 < N < 1000000\) Solution 〖线性筛约数个数〗 设 \(d[i]\) 表示 \(i\) 的约数个数,\(num[i]\) 表示 \(i\) 的最小质因子的出现次数。 若 \(i=p_1^{k_1}p_2^{k_2}\cdot
前端文件上传读取方法(头像上传)
具体说明代码呈现,感兴趣的可以自行运行查看效果: <!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
一本通1601【例 5】Banknotes
1601:【例 5】Banknotes 时间限制: 1000 ms 内存限制: 524288 KB 【题目描述】 原题来自:POI 2005 Byteotian Bit Bank (BBB) 拥有一套先进的货币系统,这个系统一共有 n 种面值的硬币,面值分别为 b1,b2,⋯,bn。但是每种硬币有数量限制,现在我们想要凑出面值 k,求最少要用多少个硬币。 【输入】 第一行一个数 n; 接下来一行 n 个整数 b1,b2,⋯,bn; 第三行 n 个整数 c1,c2,⋯,cn ,表示每种硬币的个数
GCD使用dispatch_semaphore_t创建多线程网络同步请求
一、简介: dispatch_semaphore_t:表示信号,生成信号的方法是 dispatch_semaphore_t semaphore= dispatch_semaphore_create(0); 其中参数0表示该新生成信号的总的信号量为0个。 dispatch_semaphore_wait:信号等待,它像一个安保,比如小区规定最多只能进入3辆车,而进入一辆车后名额就会减少一个,当剩下的名额为0的时候,再有汽车说要进去时,就只能在外面等待了,直到有名额闲置出来了,才能开进小区。 dis
vscode中iframe的使用
vscode中iframe由于某种原因不支持本地页面,比如<iframe src ="index.html" width="300" height="300"></iframe>这样的。 但是支持远程网络地址,比如像<iframe src ="https://www.baidu.com" width="300" height="300"></iframe> 其实我最不想使用的就是iframe,最符合我实际需要的仅仅是location.href,但是vscode内部不支持location.hre
layui关闭弹出层
layui关闭弹出层,今天我在vscode中使用p parent.layer.closeAll()发现没效果 换成layer.closeAll()就解决了这个问题。 由此我觉得关闭layui关闭弹出层的相关方法给大家介绍一下: layer.closeAll(); //疯狂模式,关闭所有层
layer.closeAll('dialog'); //关闭信息框
layer.closeAll('page'); //关闭所有页面层
layer.closeAll('iframe'); //关闭所有的ifr
tomcat运行超时问题解决
之前一直懒得记录,不过最近觉得还是记录一下好一些。 由于项目过于庞大启动时间比较长,而tomcat默认超时时间为45秒,很显然对于一个庞大的项目而言是远远不够的。 错误信息如下所示: Server Tomcat v8.5 Server at localhost was unable to start within 45 seconds. If the server requires more time, try increasing the timeout in the server edit
第三次寒假作业 sketch 了解
什么是sketch? sketch 是一种基于散列的数据结构,可以在高速网络环境中,实时地存储流量特征信息,只占用较小的空间资源,并且具备在理论上可证明的估计精度与内存的平衡特性。 通过设置散列函数,将具有相同散列值的键值数据存入相同的桶内,以减少空间开销。桶内的数据值作为测量结果,是真实值的近似。利用开辟二维地址空间,多重散列等技术减少散列冲突,提高测量结果的准确度。 (我的理解:类似于将数据归类,当你要找某一个元素时,只需再这类中找,而不需遍历全部数据,以减小空间内存) 散列: Hash,
2019/2/3号 sidekick_boy 随笔
2019年2月13日 生活 自己动手做了长豆咸饭,记得小时候最喜欢吃爷爷做的了。 微信夜读《你现在不牛,但你可以变得很牛》 工作 服务器软件驱动接口重写切换 服务器软件设计说明书 今天还是有点偷懒,不要这样的工作状态,这刚过年的,O(∩_∩)O哈哈~ 学习 知道我的电饭煲可以做煲仔饭 不好的心态影响了工作效率和表现,sry 牛人的背后都是有付出的,每个人都想躺在床上睡懒觉
【源码】HashMap源码及线程非安全分析
最近工作不是太忙,准备再读读一些源码,想来想去,还是先从JDK的源码读起吧,毕竟很久不去读了,很多东西都生疏了。当然,还是先从炙手可热的HashMap,每次读都会有一些收获。当然,JDK8对HashMap有一次优化。 一、一些参数 我们首先看到的,应该是它的一些基本参数,这对于我们了解HashMap有一定的作用。他们分别是: 参数 说明 capacity 容量,默认为16,最大为2^30 loadFactor 加载因子,默认0.75 threshold resize的阈值,capacity *
Gym 101915G Robots
G. Robots time limit per test 5.0 s memory limit per test 256 MB input standard input output standard output The Robotics Olympiad teams were competing in a contest. There was a tree drawn on the floor, consisting of n nodes and n - 1 edges. The nod
各种三角形、四边形的实现
1、输出实心四边形 * * * * * * * * * * * * * * * * * * * * * * * * * def si(length,width): for i in range(width): print('* '*length) si(5,5) 2、输出空心四边形 def si(length,width): for i in range(width): if i == 0 or i == (width - 1): print('* '*length) else: print(
Python Flask web入门例子
安装pip -安装完python,需要手动设置pip环境变量,找到python安装目录的Scripts文件夹中就是根目录,比如C:\Python27\Scripts。设置完环境变量即可安装第三方模块了,安装时为了提高速度可以使用阿里镜像,方法如下 打开目录:C:\Users\xxx\AppData\Roaming,xxx是windows用户名 在该目录中新建目录pop,在pop目录中在新建pip.ini,其内容填入下面内容即可 [global]
index-url=http://mirrors
剑指offer-链表中倒数第 K 个结点
输入一个链表,输出该链表中倒数第k个结点。 /*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode FindKthToTail(ListNode head,int k) {
if
C++中的头文件(.h)和源文件(.cpp)都应该写什么?
头文件(.h):写定义和声明 写类的声明(包括类里面的成员和方法的声明)、函数原型、#define常数等,但是一般来说不写具体的实现。 注意: 1、在写头文件的时候需要注意,在开头和结尾处必须按照如下样式加上预编译语句(如下): #ifndef PERSON_H #define PERSON_H //中间写你的代码 #endif 这样做是为了防止重复编译,不这样做就有可能会出错。 至于PERSON_H这个名字可以随便取,只要符合规范就行,但是建议把它写成与源文件的名字对应。 源文件(.cpp)
Android 个人手机通讯录开发
一、Android 个人手机通讯录开发 数据存储:SQLite 数据库 开发工具:Android Studio 二、Phone Module 简介 1. 界面展示 2. 文件结构简单分析 三、个人手机通讯录代码实现 1. 清单文件 (AndroidManifest.xml) <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android
今日推荐
周排行