st

CodeForces - 158C(模拟)

戏子无情 提交于 2019-12-12 12:14:48
题意 https://vjudge.net/problem/CodeForces-158C 你需要实现类似 Unix / Linux 下的 cd 和 pwd 命令。 一开始,用户处于根目录 / 下。 对于 cd 命令,它的作用是跳转到某个路径。路径有相对路径和绝对路径,相对路径以文件夹名开头,表示当前目录下的文件夹,绝对路径以 / 开头,表示根目录下的文件夹。同时, .. 文件夹表示上一层文件夹。 对于 pwd 命令,你需要输出当前所在的绝对路径。 保证输入数据中所有的文件夹都存在。 思路 用栈记录每次往下搜索的文件夹,先对cd后面的字符串加一个"/",每次遇到../就退回上一级目录(pop)。 具体看代码。 代码 #include <bits/stdc++.h> using namespace std; #define inf 0x3f3f3f3f #define ll long long const int N = 200005; const int mod = 1e9 + 7; #define lowbit(x) (x & (-x)) int main() { std::ios::sync_with_stdio(false); int n; cin >> n; stack<string> st, st2; while (n--) { string s; cin >> s;

counting duration with std::chrono gives 0 nanosecond when it should take long

时光总嘲笑我的痴心妄想 提交于 2019-12-11 05:54:33
问题 I was trying to count the duration taken by a for loop using std::chrono but it gives 0 nanoseconds even if i make the loop take longer by increamenting the bound value , this is the code : #pragma pack(1) // dont align let's let it take longer struct Foo{ int x; char c; int z; } ; void take_time() { Foo f; auto t1 = std::chrono::system_clock::now(); register int c = 0; int x=0,y=0,z=1; for (c=0;c<10000;c++){ // even if i put 1000000000 it will take 0 nanosec !!!!! f.z = x+y; f.z += z-x+y; }

PrepareStatement

 ̄綄美尐妖づ 提交于 2019-12-10 15:30:52
该对象就是替换Statement对象。 1.相比较Statement,预先处理给定的SQL语句,对其执行语法检查,在SQL语句里使用 ? 占位符来替代后续要传递进来的变量。后面传进来的变量会被看成字符串,不会产生任何的关键字。 String sql = "insert into login values (null ,?,?)"; st = coon.prepareStatement(sql); //给占位符?赋值 st.setString(1, username); st.setString(2, password); st.executeUpdate(); 来源: https://www.cnblogs.com/feng0001/p/12016827.html

rhca 442 kernel module

余生长醉 提交于 2019-12-10 05:12:42
##Manage Kernel Modules display modules >lsmod Check modules parameters >modinfo -p usb_storage|st|sc8 Load modules >modprobe usb_storage|st|sc8 Rmove mdules > rmmod usb_storage|st|sc8 ###Set default modules parameters /etc/modprobe.d/my.conf >option usb_storage delay_use=3 >option st buffer_kbs=128 >options sx8 max_queue=10 Check runtime module parameters >/sys/module/mname/parameters/pname some RW/RO/No parameter >vim /etc/sysconfig/modules/my.modules >modprobe st >vim /etc/modprobe.d/my.conf >options st buffer_kbs=256 来源: oschina 链接: https://my.oschina.net/u/874335/blog/297734

RMQ详解

浪子不回头ぞ 提交于 2019-12-10 02:44:40
RMQ问题 :查询区间最大值或者最小值 这里用ST表处理 ST表(动态规划的思想) 设 f [i][st], i为元素起始下标,st为从i开始,长度为2^st 的最大值 1.预处理 f[i][0] 为从i 开始,长度为2^0 范围的最大值 for(int i=1;i<=n;i++){ f[i][0]=a[i]; } 2. f[i][0] [i,i] f[i][1] [i,i+1] = max( f[i][0], f[i+2^0][0] ) f[i][2] [i,i+3] = max( f[i][1],f[i+2^1][1] ) f[i][3] [i,i+7] = max( [i,i+3], [i+4,i+7] ) = max( f[i][2],f[i+2^2][2] ) 可以看出,对于区间为[i,st] 的区间,可以拆为 f[i][st-1] 和 f[i+2^(st-1)][st-1]) 其实就是将区间对半,然后将两个半区间再比较最大值 循环下界问题 1. 这里的 j 的上限为 2^j<=n, (1<<j 表示2^j) 关于1<<j 的解释 1 左移 j 位 这是移位运算,左移 1<<1 表示把 二进制 数 0001 左移 1 位,变成 0010, 等于 2 1<<4 表示把 二进制 数 0001 左移 4 位,变成 0001 0000, 等于 16 2. i 的坐标也不能越界,i

string方法介绍

跟風遠走 提交于 2019-12-09 20:49:21
#_*_coding:utf-8_*_#作者:王佃元#日期:2019/12/9#string操作print('hello'*2) #乘法操作,输出对应次数print('helloworld'[2:]) #切片操作,跟列表操作一致print('w' in 'helloworld') #判断内容是否在另一个内容里面print('%s is a good teacher'%('dery')) #格式化输出a = '123'b = 'abc'c = a + bc = ''.join([a,b,c])print(c)#字符串的内置方法st = 'hello kitty is {name} is {age}'#c 开头的方法print(st.count('l')) #计算某个内容出现的次数print(st.capitalize()) #首字母大写print(st.center(50,'*')) #居中#e 开头的方法print(st.endswith('ty')) #判断字符串已某个内容结尾,返回bool值print(st.startswith('www')) #判断字符串已某个内容开头,返回bool值print(st.expandtabs(tabsize=10)) #较少使用,扩展一个tab键代表几个空格,需要在增加tab键的地方增加\t#f 开头的方法print(st.find('t'))

学习python的第十七天【字符串内置】

限于喜欢 提交于 2019-12-07 15:09:41
字符串: #__author:"hanhankeji" #date: 2019/12/7 # string 字符串 a = "hello" print(a) #hello #可以计算 print(a*2) #hellohello # 切片去取内容 print(a[2::]) #llo #in 关键字去判断是不是在容器里面 print("ll" in a) #True 如果内容在里面返回正确值 #格式化 %表示 #字符串的拼接 aa = "123" bb = "456" cc = aa + bb print(cc)#123456 print( "".join([aa,bb]))#123456 用join 拼接 #字符串的内置方法: st = "hello w\torld{name}" print(st .count("l"))# 3 数l的个数 print(st .capitalize())#首字母大写 Hello world print(st .center(50,"*")) #*******************hello world********************居中文本在符号中间 print(st .endswith("ld")) #True 以XX结尾 不对就Falce print(st .startswith("ld")) #False 以什么开头

PAT1057 Stack(树状数组+倍增)

♀尐吖头ヾ 提交于 2019-12-06 22:34:39
目录 题目大意 题目分析 题目大意 要求维护一个栈,提供压栈、弹栈以及求栈内中位数的操作(当栈内元素 \(n\) 为偶数时,只是求第 \(n/2\) 个元素而非中间两数的平均值)。最多操作100000次,压栈的数字 \(key\) 范围是[1,100000]。 题目分析 前两个操作用 \(stack\) 就好。 求中位数。暴力做法即使用上优先队列也是稳稳的超时。考虑树状数组。 压栈时,将 \(key\) 值对应的位置加1。弹栈减1。 求中位数,可以二分求出 \(sum[1:p]==(n+1)/2\) 最小的 \(p\) ,即为 \(ans\) 。复杂度 \(O(nlog^2n)\) 。 问题已被解决,但是还有进一步优化的空间。 考虑倍增(?)。从高到低枚举 \(ans-1\) 的每一个二进制位,即求最大的 \(p\) 使得 \(sum[1:p]<(n+1)/2\) 。我们知道树状数组 \(tree[k]=\sum_{i=k-lowbit(k)+1}^knum[i]\) ,也就是说如果我们知道 \(\sum_{i=1}^knum[i]=A\) 且 \((1<<j)<lowbit(k)\) ,那么 \(\sum_{i=1}^{k+(1<<j)}=A+tree[k+(1<<j)]\) 。倍增的时候枚举二进制位的时候,恰巧我们也是从大到小枚举的,满足 \(j\) 与 \(k\) 的限制

凸包

丶灬走出姿态 提交于 2019-12-06 11:05:56
前置知识 极角排序:按向量与 \(x\) 轴的极角排序, \(\theta\in [0,2\pi]\) 。 向量差集: \(\vec a\times\vec b=x_ay_b-x_by_a\) ,可以发现极角排序中若 \(\vec a\lt \vec b,\vec a\times \vec b\gt 0\) 。 凸包 先找到所有点中最下面的点,多个最下面则取最左边。 然后按照这个点为原点 \(O\) ,对其它点 \(P\) 的向量 \(\overrightarrow {OP}\) 极角排序。排序后呈现类似扇形顺序。 然后每次按顺序丢入点 \(p_i\) , \(p_i\) 和凸包内前一个点形成的向量 \(\overrightarrow {p_ip_{i-1}}\) ,若 \(\overrightarrow {p_ip_{i-1}}\times \overrightarrow {p_{i-1}p_{i-2}}>0\) ,说明 \(p_{i-1}\) 成凹陷进去的一个顶点了,于是把 \(p_{i-1}\) 删除。依次这样添加即可。 模板题: P2742 #include <bits/stdc++.h> using namespace std; const double eps=1e-8; const double pi = acos(-1.0); const int MAXN

Palinwords (处理回文串)

喜夏-厌秋 提交于 2019-12-06 01:05:50
题目链接: https://vjudge.net/contest/344930#problem/G 题目大意:给你字符串,如果他包含至少两个长度大于等于3的回文,并且这些回文不能嵌套(例如aaa嵌套在aaaa,waw嵌套在awawa),如果这个字符串这么牛逼的话,就输出他。 题目思路:其实这道题有一个贪心的思想在里面,其实每次我们只需要去找长度为3和长度为4的回文串就好了。这里的处理策略就是先处理长度为3的回文串,再处理长度为4的回文串。处理长度为4的回文串的时候,要避免它的子串也是一个回文串。 1 #include <stdio.h> 2 #include <algorithm> 3 #include <iostream> 4 #include <stdlib.h> 5 #include <string> 6 #include <string.h> 7 #include <math.h> 8 #include <vector> 9 #include <queue> 10 #include <stack> 11 #include <map> 12 #include <set> 13 14 15 #define INF 0x3f3f3f3f 16 #define LL long long 17 18 typedef unsigned long long ull; 19 const