[洛谷P5190][COCI 2010] PROGRAM

题目大意:给你$k(k\leqslant10^6)$个数,$f(x)$表示$x$的约数在$k$个数中出现的次数,在这任何数都是$0$的约数。$m(m\leqslant10^6)$次询问,每次给出$l,r(l,r\leqslant10^6)$,求$\sum\limits_{i=l}^rf(i)$ 题解:求出每个数出现次数,直接加到它的倍数上,$O(n\log_2n)$,然后前缀和,直接输出,注意$l=0$的情况 卡点:无 C++ Code: #include <cstdio> #define
分类: 其他 发布时间: 02-08 20:48 阅读次数: 0

重新学习MySQL数据库3:Mysql存储引擎与数据存储原理

重新学习Mysql数据库3:Mysql存储引擎与数据存储原理 数据库的定义 很多开发者在最开始时其实都对数据库有一个比较模糊的认识,觉得数据库就是一堆数据的集合,但是实际却比这复杂的多,数据库领域中有两个词非常容易混淆,也就是数据库和实例: 数据库:物理操作文件系统或其他形式文件类型的集合; 实例:MySQL 数据库由后台线程以及一个共享内存区组成; 对于数据库和实例的定义都来自于 MySQL 技术内幕:InnoDB 存储引擎 一书,想要了解 InnoDB 存储引擎的读者可以阅读这本书籍。 数
分类: 其他 发布时间: 02-08 20:47 阅读次数: 0

重新学习MySQL数据库6:浅谈MySQL的中事务与锁

『浅入深出』MySQL 中事务的实现 在关系型数据库中,事务的重要性不言而喻,只要对数据库稍有了解的人都知道事务具有 ACID 四个基本属性,而我们不知道的可能就是数据库是如何实现这四个属性的;在这篇文章中,我们将对事务的实现进行分析,尝试理解数据库是如何实现事务的,当然我们也会在文章中简单对 MySQL 中对 ACID 的实现进行简单的介绍。 事务其实就是并发控制的基本单位;相信我们都知道,事务是一个序列操作,其中的操作要么都执行,要么都不执行,它是一个不可分割的工作单位;数据库事务的 AC
分类: 其他 发布时间: 02-08 20:47 阅读次数: 0

c++从文件路径获取目录

场景 c++从文件路径获取目录 实现代码 初始化是不正确的,因为需要转义反斜杠: string filename = "C:\\MyDirectory\\MyFile.bat"; 如果存在,则提取目录: string directory; const size_t last_slash_idx = filename.rfind('\\'); if (std::string::npos != last_slash_idx) { directory = filename.substr(
分类: 其他 发布时间: 02-08 20:47 阅读次数: 0

重新学习MySQL数据库5:根据MySQL索引原理进行分析与优化

重新学习MySQL数据库5:根据MySQL索引原理进行分析与优化 一:Mysql原理与慢查询 MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问题的
分类: 其他 发布时间: 02-08 20:47 阅读次数: 0

重新学习MySQL数据库8:MySQL的事务隔离级别实战

重新学习Mysql数据库8:MySQL的事务隔离级别实战 在Mysql中,事务主要有四种隔离级别,今天我们主要是通过示例来比较下,四种隔离级别实际在应用中,会出现什么样的对应现象。 Read uncommitted (未提交读) Read committed (已提交读) Repeatable read (可重复读) Serializable (可串行化) 在理解四种隔离级别之前,我们需要先了解另外三个名词: 脏读 不可重复读 幻读 脏读 A事务,会读取到B事务还未提交的数据。因为B事务可能会
分类: 其他 发布时间: 02-08 20:47 阅读次数: 0

问题 1436: 地宫取宝 (dp)

题目传送门 时间限制: 1Sec 内存限制: 128MB 提交: 423 解决: 94 题目描述 X 国王有一个地宫宝库。是 n x m 个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。 地宫的入口在左上角,出口在右下角。 小明被带到地宫的入口,国王要求他只能向右或向下行走。 走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿)。 当小明走到出口时,如果他手中的宝贝恰好是k件,则这些宝贝就可以送给小明。 请你帮小明算一算,在给定的局面
分类: 其他 发布时间: 02-08 20:47 阅读次数: 0

随手练——HDU Safe Or Unsafe (小根堆解决哈夫曼问题)

HDU 2527 :http://acm.hdu.edu.cn/showproblem.php?pid=2527 哈夫曼树,学完就忘得差不多了,题目的意思都没看懂,有时间复习下,看了别人的才知道是怎么回事。 贪心的题目,当总代价(要求最少)是由子代价累加或累乘出来,就可以考虑用哈夫曼来贪心。 题意: 就是给你一个字符串如:12 helloworld 统计出其中 d:1个,e:1个,h:1个,l:3个,o:2个,r:1个,w:1个,然后用一个数组保存起来a[7]={1,1,1,1,1,2,3};
分类: 其他 发布时间: 02-08 20:47 阅读次数: 0

如何启动redis

由于是按照教程安装的,启动redis的方法是: sudo redis-server /etc/redis/redis.conf
分类: 其他 发布时间: 02-08 20:31 阅读次数: 0

重新学习MySQL数据库2:『浅入浅出』MySQL 和 InnoDB

重新学习Mysql数据库2:『浅入浅出』MySQL 和 InnoDB 作为一名开发人员,在日常的工作中会难以避免地接触到数据库,无论是基于文件的 sqlite 还是工程上使用非常广泛的 MySQL、PostgreSQL,但是一直以来也没有对数据库有一个非常清晰并且成体系的认知,所以最近两个月的时间看了几本数据库相关的书籍并且阅读了 MySQL 的官方文档,希望对各位了解数据库的、不了解数据库的有所帮助。 本文中对于数据库的介绍以及研究都是在 MySQL 上进行的,如果涉及到了其他数据库的内容或
分类: 其他 发布时间: 02-08 20:31 阅读次数: 0

重新学习MySQL数据库1:无废话MySQL入门

重新学习Mysql数据库1:无废话MySQL入门 开始使用 我下面所有的SQL语句是基于MySQL 5.6+运行。 MySQL 为关系型数据库(Relational Database Management System),一个关系型数据库由一个或数个表格组成, 如图所示的一个表格: 表头(header): 每一列的名称; 列(col): 具有相同数据类型的数据的集合; 行(row): 每一行用来描述某个人/物的具体信息; 值(value): 行的具体信息, 每个值必须与该列的数据类型相同; 键
分类: 其他 发布时间: 02-08 20:31 阅读次数: 0

重新学习MySQL数据库4:Mysql索引实现原理

重新学习Mysql数据库4:Mysql索引实现原理 MySQL索引类型 (https://www.cnblogs.com/luyucheng/p/6289714.html) 一、简介 MySQL目前主要有以下几种索引类型: 1.普通索引 2.唯一索引 3.主键索引 4.组合索引 5.全文索引 二、语句 CREATE TABLE table_name[col_name data type] [unique|fulltext][index|key][index_name](col_name[len
分类: 其他 发布时间: 02-08 20:31 阅读次数: 0

23.FutureTask基本操作总结

1.FutureTask简介 在Executors框架体系中,FutureTask用来表示可获取结果的异步任务。FutureTask实现了Future接口,FutureTask提供了启动和取消异步任务,查询异步任务是否计算结束以及获取最终的异步任务的结果的一些常用的方法。通过get()方法来获取异步任务的结果,但是会阻塞当前线程直至异步任务执行结束。一旦任务执行结束,任务不能重新启动或取消,除非调用runAndReset()方法。在FutureTask的源码中为其定义了这些状态: privat
分类: 其他 发布时间: 02-08 20:14 阅读次数: 0

灵巧の每日计划!

maya任务太多辣,,,所以决定每天计划下第二天要做什么,,,不然太颓辣QAQ 2.8 [ ]AC自动机搞完(8:00pm [ ]考试题目落实(9:30pm [ ]单调队列搞完(10:30pm 2.9 [ ]构造图论搞完(上午 [ ]点分治初涉猎(下午 [ ]贪心学习总结(晚上
分类: 其他 发布时间: 02-08 20:14 阅读次数: 0

22.线程池之ScheduledThreadPoolExecutor

1. ScheduledThreadPoolExecutor简介 ScheduledThreadPoolExecutor可以用来在给定延时后执行异步任务或者周期性执行任务,相对于任务调度的Timer来说,其功能更加强大,Timer只能使用一个后台线程执行任务,而ScheduledThreadPoolExecutor则可以通过构造函数来指定后台线程的个数。ScheduledThreadPoolExecutor类的UML图如下: 从UML图可以看出,ScheduledThreadPoolExecu
分类: 其他 发布时间: 02-08 20:14 阅读次数: 0

Python3 正则表达式 Regular Expression

2019/02/08 正则表达式 Regular Expression 掌握特殊符号 * (0, +00) # 贪婪匹配,按最多的匹配 >>> re.findall('alex*', 'sddgljalexdhgb') ['alex'] >>> re.findall('alex*', 'sdghshalexxxxxgdhg') ['alexxxxx'] + (1, +00) # 贪婪匹配,按最多的匹配 >>> re.findall('alex+', 'sdghshalexxxxxgfhg')
分类: 其他 发布时间: 02-08 20:14 阅读次数: 0

24.Java中atomic包中的原子操作类总结

1. 原子操作类介绍 在并发编程中很容易出现并发安全的问题,有一个很简单的例子就是多线程更新变量i=1,比如多个线程执行i++操作,就有可能获取不到正确的值,而这个问题,最常用的方法是通过Synchronized进行控制来达到线程安全的目的(关于synchronized可以看这篇文章)。但是由于synchronized是采用的是悲观锁策略,并不是特别高效的一种解决方案。实际上,在J.U.C下的atomic包提供了一系列的操作简单,性能高效,并能保证线程安全的类去更新基本类型变量,数组元素,引用
分类: 其他 发布时间: 02-08 20:14 阅读次数: 0

19.2.8 [LeetCode 56] Merge Intervals

Given a collection of intervals, merge all overlapping intervals. Example 1: Input: [[1,3],[2,6],[8,10],[15,18]] Output: [[1,6],[8,10],[15,18]] Explanation: Since intervals [1,3] and [2,6] overlaps, merge them into [1,6]. Example 2: Input: [[1,4
分类: 其他 发布时间: 02-08 20:14 阅读次数: 0

tarjan求lca :并查集+dfs

//参考博客 https://www.cnblogs.com/jsawz/p/6723221.html #include<bits/stdc++.h> using namespace std; #define maxn 420000 struct Query{int to,nxt,lca;}q[maxn]; struct Edge{int to,nxt;}edge[maxn<<1]; int n,m,p,x,y,tot_e,tot_q,head_q[maxn],head_e[maxn]; in
分类: 其他 发布时间: 02-08 20:14 阅读次数: 0

25.大白话说java并发工具类-CountDownLatch,CyclicBarrier,Semaphore,Exchanger

1. 倒计时器CountDownLatch 在多线程协作完成业务功能时,有时候需要等待其他多个线程完成任务之后,主线程才能继续往下执行业务功能,在这种的业务场景下,通常可以使用Thread类的join方法,让主线程等待被join的线程执行完之后,主线程才能继续往下执行。当然,使用线程间消息通信机制也可以完成。其实,java并发工具类中为我们提供了类似“倒计时”这样的工具类,可以十分方便的完成所说的这种业务场景。 为了能够理解CountDownLatch,举一个很通俗的例子,运动员进行跑步比赛时
分类: 其他 发布时间: 02-08 20:14 阅读次数: 0