read

道路和航线

自闭症网瘾萝莉.ら 提交于 2019-12-01 13:01:27
https://loj.ac/problem/10081 题目描述   一张图,有由T个节点,R条双向边和P条单向边组成,每条边有边权且可能存在负权,求能否从S到达每个节点并且输出最小花费。 思路   首先第一想法,把这张图建出来,在跑一遍spfa即可,然而它显然被卡了,不过似乎可以用双端队列优化水过去。   接下就是正解。我们考虑对于所有的道路,都是正权,我们可以用Dijkstra做,而对于航线,不存在环。因此,如果我们将道路相连的连通图缩点之后,得到必定是DAG,而DAG显然可以用拓扑排序更新最短路。   所以我们只需要先把双向边的图建出来,跑一遍tarjan缩点,再进行toposort,每次更新时把连通块中所有节点都加入Dijkstra的优先队列中,对于每个点进行更新dis数组。在进行Dijkstra时把单向边也更新一遍即可。 代码 #include<bits/stdc++.h> using namespace std; const int N=250020,M=1e5+10; const int INF=0x3f3f3f3f; int head[N],tot,to[M],nxt[M],w[M]; void add_edge(int x,int y,int z) //双向边建图 { nxt[++tot]=head[x]; head[x]=tot; to[tot]=y; w

Linux服务器iops性能测试-iozone

核能气质少年 提交于 2019-12-01 12:25:25
Linux服务器iops性能测试- iozone 1 . 选用工具: iozone 下载地址:http://www . iozone . org/ (直接下载rpm包) 2 . 工具安装: 执行命令: rpm -ivh iozone -3-4 0 8 . i 386 . rpm 3 . 自动模式测试iops: 执行命令: /opt/ iozone /bin/ iozone -a 4 . 以图表形式显示测试结果, iozone 将测试结果放在Excel中: 执行命令:/opt/ iozone /bin/ iozone -Rab output . xls 参数介绍 -a 全自动模式测试。测试记录块大小从4k到 1 6M,测试文件从64k到5 1 2M -f filename 指定用来测试临时文件,在测试完成后将被自动删除 -i 指定运行于哪种模式测试。可以使用 -i # -i # -i #进行多个测试( 0 =write/rewrite 1 =read/re-read 2=random read/random write 3=backwards read 4=re-write-record 5=stride-read 6=fwirte/re-fwrite 7=fread/re-fread 8=random mix 9=pwrite/re-pwrite 1 0 =pread/re

分块学习笔记

允我心安 提交于 2019-12-01 10:22:51
#分块 先上大佬 博客 也不知道为什么我先学的莫队 生动形象的分块 (三层的树) 假设我们总共的序列长度为n,然后我们把它切成 n−−√ n块,然后把每一块里的东西当成一个整体来看, 现在解释几个本文用到的术语: 完整块:被操作区间完全覆盖的块 不完整块:操作区间不完全覆盖的块 然后我们先看看怎么得出答案:   1.对于完整的块,我们希望有个东西能直接找出这整个块的和,于是 每个块要维护这个块的所有元素的和。    .对于不完整块,因为元素比较少(最多有 总数n / 块数 = n−−√ n 个) 这时候当n=1000000的时候最多有1000个,对比一下,我们可以直接暴力扫这个小块统计答案,    .小技巧:如果这个不完整块被覆盖的长度>块维护的长度的一半,何不用这个块的和-没有被覆盖的元素的值呢?   2.这里,我们换种思路, 记录一个lazy 标记(为什么用lazy,因为我很懒),表示整个块被加上过多少了,    .对于完整块,我们直接lazy+=加上的数x,块内的和ans+=x*元素个数(因为每个元素都被加上了x)    .对于不完整块,直接暴力修改就好了,顺便可以把lazy标记清了。 题目列表 #6277. 数列分块入门 1 操作:区间加法,单点查值 #include <bits/stdc++.h> using namespace std; inline long long

简书read、readline、readlines的区别

放肆的年华 提交于 2019-12-01 07:46:45
read:一次性读取整个文件内容。 readline:每次读取一行内容,返回一个字符串。 readlines:一次性读取整个文件内容,并按行返回list,方便遍历。 总结:一般小文件我们都采用read(),不确定大小你就定个size,大文件就用readlines() 来源: https://www.cnblogs.com/wenm1128/p/11670115.html

mysql 锁和隔离事务

冷暖自知 提交于 2019-12-01 07:45:35
--查询表锁争用情况 show status like 'ord%'; --查看数据库中表的状态,是否被锁; SHOW PROCESSLIST; --脏读 读未提交 --A事务读取了B事务修改但未提交的数据 B稍后时候进行了回滚,那么A就发生了脏读 --不可重复读 读不回去了 --A事务在进行相同条件查询的时候,(两次或者两次以上)出现了每次结果不一样,因为在查询期间有其他事务进行了update操作,导致结果不一致 --幻读 读多了 --A事务在进行相同条件查询的时候,因为在查询期间发现记录数不一样了 ,因为进行了insert操作,导致结果不一致 --隔离级别 --1. 1 Read uncommitted 脏读 --2. 2 Read committed 避免脏读 会有重复读和幻读 --3. 4 repeatable read 可重复读 避免不可重复读 --4. 8 serializable 避免幻读 这样性能会低 --1关闭A自动提交 set autocommit =0; --3开启事务 start transaction; --4执行更新 update tableA set nane='je' where id='1'; --6回滚 rollback; --2设置B隔离级别 读到A的未提交的数据uncommitted --Read uncommitted(脏读)Read

文件的操作

柔情痞子 提交于 2019-12-01 07:00:33
一.文件的打开模式    补:文件句柄:将文件打开后赋值给它,相当于接管了文件的访问 1.只读模式  r    f=open("hello.txt",encoding=utf-8,"r") f.read() f.read(3) f.readlines()f.close() f.read()  读出文件的全部内容 f.read(3)  读出文件的3个字符,(注意:参数n不是指字节数) list = f.readlines()  读出每一行并返回一个列表,将每一行当一个元素2.只写模式 w f=open("hello.txt",encoding=utf-8,"w")  用该模式打开,如果该文件不存在,则创建,如果文件已经存在,则将文件格式化。f.write() 3.追加写(只能写)a f=open("hello.txt",encoding=utf-8,"a")  在文件后面追加写, 4.读写模式 r+  用这种方式打开后写的内容只能是追加在后面,注意:文件的读与写的文件指针是不同的,即不能在原文件上对文件的内容进行修改。因为文件内容的空间已经长度固定,但可以通过再创建一个新的文件,进行copy并修改5.写读模式 w+文件一旦用w+模式打开,该文件首先进行格式化,即清空文件的内容,所以用这种方法打开文件后内容会丢失,但当文件已经写了一部分,可以进行读操作不过这里的读写的文件指针是同步的

第四章 文件和目录工具

一曲冷凌霜 提交于 2019-12-01 05:07:15
文件工具: 通过内建库函数和标准库来对文件进行操纵; 内建函数open是用来在计算机底层系统下访问文件的工具,它是python的固有部分,被调用返回一个新的与文件相连的对象 通过内建模块os 可以操作较底层的基于描述符的文件,复制,移除,移动和手机文件(os和shutil),借助字典的键将数据和对象存储于文件中(dbm和shelve) 以及访问sql数据库(sqllit第三方插件) python3.x中的文件对象模型 文本文件含有unicode文本(内容始终是一个str字符串----字符构成的序列) 二进制文件包含原有的8位字节码(内容始终是字节字符串----小整数构成的序列) 使用内建文件对象 输出文件: f=open('file','w') 以写方式打开文本文件 f.write('string\n') 写入文件 f.writelines(['str1\n','str2\n']) 写入行字符列表到文件 f.close() 关闭文件 open('file.txt','w').write('str\n') 创建临时文件对象并写入数据,马上被使用不需要保存对象的引用,数据传输完成后问击案对象马上就被回收并在进程中自动关闭 确保文件关闭:异常处理和上下文管理 万能的处理模式: myfile=open('file','w') try: ...process myfile...

【HDOJ6655】Just Repeat(贪心)

家住魔仙堡 提交于 2019-12-01 04:35:14
题意:A和B两个人玩游戏,分别有n和m张牌,A的第i张牌是a[i],B是b[i] 两人轮流出牌,如果一种编号的牌被其中一个人出了另一个人就不能出自己手中这个编号的牌 两人都按最优策略行动,问获胜者 思路: 考场上好像卡常,补题的时候似乎没有 1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 typedef unsigned int uint; 5 typedef unsigned long long ull; 6 typedef pair<int,int> PII; 7 typedef pair<ll,ll> Pll; 8 typedef vector<int> VI; 9 typedef vector<PII> VII; 10 //typedef pair<ll,ll>P; 11 #define N 200010 12 #define M 200010 13 #define fi first 14 #define se second 15 #define MP make_pair 16 #define pb push_back 17 #define pi acos(-1) 18 #define mem(a,b) memset(a,b,sizeof(a)) 19 #define

Java记录日志Logger程序测试

烂漫一生 提交于 2019-12-01 02:01:14
Java记录日志Logger程序测试 public class Test{ private static final Logger log = Logger.getLogger( "com.cn.log" ); int read(String s,String ss){ log .entering( "Test" , "read" , new String[] {s,ss}); int count = 1 ; log .exiting( "Test" , "read" ,count); return count; } public static void main(String[] args){ // TODO Auto-generated method stub //要想日志可以记录消息,消息的级别必须大于等于日志记录器的级别 log .setLevel(Level.FINER); log .severe( "WARNING" ); //log.entering()与log.exiting()将生成FINER级别的日志记录,默认情况下控制台的级别为INFO Test t = new Test(); t.read( "专注" , "该做什么的时候专心做什么,不要分心" ); //测试子记录器与父记录器的日志级别继承问题 System.out.println( "----------

Linux命令之read

半腔热情 提交于 2019-12-01 01:42:28
  read命令可以读取标准输入的值,并赋予变量。一次可以读取多个变量的值,变量名或标准输入之间使用空格隔开。如果read命令后面没有指定变量名,那么读取到的值将自动赋予特殊变量REPLY。 read [选项] [变量名 [变量名 变量名 ...]] (1).常用选项 -s  将标准输入内容隐藏,多用于隐藏用户密码; -t [超时时间]  超过指定的时间限制没有输入,将会自动退出当前命令; -n [字符长度]  限制接收的字符长度,接收到指定字符长度后会自动退出当前命令; -r  允许输入空格、/、\、?等特殊字符; -p [字符串]  给出输入内容的提示,多用于脚本 (2).实例   输入多个变量名,读取多个值 [root@youxi1 ~]# read a b 1 2 [root@youxi1 ~]# echo $a 1 [root@youxi1 ~]# echo $b 2   隐藏标准输入内容 [root@youxi1 ~]# read -s password [root@youxi1 ~]# echo $password 123456   指定超时时间 [root@youxi1 ~]# read -t 2 a [root@youxi1 ~]# echo $? 142   指定输入的字符串长度 [root@youxi1 ~]# read -n 2 a 12[root