mp

操作序列(STL map)

与世无争的帅哥 提交于 2020-03-21 05:59:47
链接: https://ac.nowcoder.com/acm/contest/4462/A 来源:牛客网 题目描述 给出一个长度无限的数列,初始全部为零,有三种操作: 增加操作:给下标为 t 的数加 c 。特别注意,如果在下标 [t−30,t+30] 内有不为零的数,增加操作无效。 削减操作:让数列中下标最小的不为零数变为零。 查询操作:查询数列中下标为 t 的数字是多少。 输入描述: 第一行包含一个整数 N,1≤N≤10 6 ,表示操作总数。 随后 N 行,每行由两个数字或一个数字组成。 若一行中有两个数字,分别代表增加操作的 t,c 。 若一行中只有数字-1,执行削减操作。 若一行中只有一个不为 -1的数字,则代表查询操作的数字 t。 保证t,c均为非负整数且在整形范围内。 输出描述: 削减操作时,先输出该数字,再变为零 若序列元素全为零,则削减操作无效,此时输出 "skipped" 查询时,输出该位置上的数 示例1 输入 7 140 1 120 2 100 3 120 100 -1 100 输出 0 3 3 0 示例2 输入 4 140 3 -1 140 1 -1 输出 3 1 示例3 输入 3 -1 -1 -1 输出 skipped skipped skipped 1 #include <bits/stdc++.h> 2 typedef long long LL; 3

map 函数

蓝咒 提交于 2020-02-07 01:50:30
# include <iostream> # include <map> using namespace std ; int main ( ) { //——————————————————————————————————这个默认删除 map < string , int > mp = { { "Tom" , 0 } , { "Tom" , 1 } , { "Bob" , 100 } , { "Alan" , 100 } } ; //插入 mp . insert ( make_pair ( "Zhang" , 100 ) ) ; //删除 先用迭代器找到 // map<string, int>::iterator it; auto t = mp . begin ( ) ; t = mp . find ( "Tom" ) ; mp . erase ( t ) ; //出现次数 cout << mp . count ( "Tom" ) ; for ( auto i = mp . begin ( ) ; i != mp . end ( ) ; ++ i ) { cout << i - > first << ' ' << i - > second << endl ; } return 0 ; } 来源: CSDN 作者: 陌陌623 链接: https://blog.csdn.net

Android学习网站总结

荒凉一梦 提交于 2020-01-15 04:11:01
一、Android博客网站 1、玩Android https://wanandroid.com/ 2、思否 https://segmentfault.com/channel/android 二、kotlin 1、视频 https://github.com/enbandari/Kotlin-Tutorials 2、专题 https://www.jianshu.com/c/00b33a9fab13?utm_source=desktop&utm_medium=notes-included-collection 3、高阶函数 https://mp.weixin.qq.com/s/Wz68U-uAkglTgquT3bnfQA https://mp.weixin.qq.com/s/j4dTeUA9IcwVPZL9VBacog 4、协程 https://mp.weixin.qq.com/s/DmYBThjkkZSNbzjZ7ZQCPg https://mp.weixin.qq.com/s/j4dTeUA9IcwVPZL9VBacog https://mp.weixin.qq.com/s/bUK8UKg9ZXykhvbiASpyVg 5、list https://mp.weixin.qq.com/s?__biz=MzI3OTU0MzI4MQ==&mid=2247486032&idx=1&sn

智能指针类模板——创建智能指针类模板

人盡茶涼 提交于 2019-12-08 21:47:27
#ifndef _SMARTPOINTER_H_ #define _SMARTPOINTER_H_ template < typename T > class SmartPointer { T* mp; public: SmartPointer(T* p = NULL) { mp = p; } SmartPointer(const SmartPointer<T>& obj) { mp = obj.mp; const_cast<SmartPointer<T>&>(obj).mp = NULL; } SmartPointer<T>& operator = (const SmartPointer<T>& obj) { if( this != &obj ) { delete mp; mp = obj.mp; const_cast<SmartPointer<T>&>(obj).mp = NULL; } return *this; } T* operator -> () { return mp; } T& operator * () { return *mp; } bool isNull() { return (mp == NULL); } T* get() { return mp; } ~SmartPointer() { delete mp; } }; #endif #include

map查找并修改元素

杀马特。学长 韩版系。学妹 提交于 2019-12-06 06:59:54
map查找并修改元素 测试代码: 1 #include<bits/stdc++.h> 2 using namespace std; 3 void show(map<int,string>& mp) 4 { 5 map<int,string>::iterator iter=mp.begin(); 6 while(iter!=mp.end()) 7 { 8 cout<<iter->first<<" "<<iter->second<<endl; 9 iter++; 10 } 11 cout<<endl; 12 } 13 int main() 14 { 15 //构造 map 16 map<int,string> mp; 17 mp.insert({5,"map 5"});//使用{} 18 mp.insert({6,"map 6"});//使用{} 19 mp.insert({7,"map 7"});//使用{} 20 mp.insert({8,"map 8"});//使用{} 21 mp.insert({0,"map 0"});//使用{} 22 mp.insert({1,"map 1"});//使用{} 23 mp.insert({2,"map 2"});//使用{} 24 mp.insert({3,"map 3"});//使用{} 25 mp.insert({4,"map 4"})

map添加数据

試著忘記壹切 提交于 2019-12-06 06:59:44
map添加数据 1 //添加数据 六种方式 2 mp.insert({0,"map zero"});//使用{} 3 mp.insert(pair<int,string>(1,"map one"));//使用pair 4 mp.insert(make_pair(2,"map two"));//使用make_pair 5 mp.insert(make_pair<int,string>(3,"map three")); 6 mp.insert(map<int,string>::value_type(4,"map four"));//使用value_type 7 mp[5]="map five";//直接用键,值 赋值 测试代码: 1 #include<bits/stdc++.h> 2 using namespace std; 3 void show(map<int,string>& mp){ 4 map<int,string>::iterator iter=mp.begin(); 5 while(iter!=mp.end()){ 6 cout<<iter->first<<" "<<iter->second<<endl; 7 iter++; 8 } 9 } 10 int main() 11 { 12 //先构造 map 13 map<int,string> mp;//构造一个map 14

map初始化

让人想犯罪 __ 提交于 2019-12-06 06:59:18
1 //初始化map 2 map<int,string> mp;//构造一个map 3 map<int,string> mps(mp);//在用map构造另一个map 4 map<int,string> maps(mp.begin(),mp.end());//使用map范围构造另一个map,两个类型需要一样 5 6 //构造 map 复杂一点的 等等 key和value是任何值 7 map<string,vector<string > > mp; 8 map<int,map<string,vector<string> > > mps; 9 测试代码: 1 #include<bits/stdc++.h> 2 using namespace std; 3 void show(map<int,string>& mp){ 4 map<int,string>::iterator iter=mp.begin(); 5 while(iter!=mp.end()){ 6 cout<<iter->first<<" "<<iter->second<<endl;//用了pair对,因此我们对于其中的元素需要通过it->first,或者it->second来访问。 7 iter++; 8 } 9 } 10 int main() 11 { 12 //先构造 map 13 map<int,string> mp

Python: How to use Value and Array in Multiprocessing pool

匿名 (未验证) 提交于 2019-12-03 01:47:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: For multiprocessing with Process , I can use Value, Array by setting args param. With multiprocessing with Pool , how can I use Value, Array. There is nothing in the docs on how to do this. from multiprocessing import Process, Value, Array def f(n, a): n.value = 3.1415927 for i in range(len(a)): a[i] = -a[i] if __name__ == '__main__': num = Value('d', 0.0) arr = Array('i', range(10)) p = Process(target=f, args=(num, arr)) p.start() p.join() print(num.value) print(arr[:]) I am trying to use Value, Array within the code snippet below. import

Leetcode 825:适龄的朋友

匿名 (未验证) 提交于 2019-12-02 23:39:01
题目描述 当满足以下条件时,A 不能给 B(A、B不为同一人)发送好友请求: 否则,A 可以给 B 发送好友请求。 求总共会发出多少份好友请求? 示例 1: 输入: [16,16] 输出: 2 解释: 二人可以互发好友申请。 示例 2: 输入: [16,17,18] 输出: 2 解释: 好友请求可产生于 17 -> 16, 18 -> 17. 示例 3: 输入: [20,30,100,110,120] 输出: 3 解释: 好友请求可产生于 110 -> 100, 120 -> 110, 120 -> 100. 说明: 1 <= ages[i] <= 120. 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/friends-of-appropriate-ages 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 解题思路 class Solution { public: int numFriendRequests(vector<int>& ages) { map<int,int> mp; int len = ages.size(),ans = 0; for(int i=0;i<len;i++) mp[ages[i]]++; for(auto ita = mp.begin();ita!=mp.end();ita

2019正睿CSP-S模拟赛十连测day8

此生再无相见时 提交于 2019-12-02 13:01:20
2019正睿CSP-S模拟赛十连测day8 link to this contest 这场题做的体验一般,没有“探索中求进步”的思考快感,会做的直接做,不会做的一点思路都没有,晚了半个小时开始,提早一个小时结束操作 $T1$转化以下题意直接模拟,$T2$完全不会,去看$T3$,看来看去都只会$50$的部分分,感觉也不少了就写完放弃了,回去把$T2$暴力写了就走人了 最终得分$100+30+50=180 (rank=15)$ A. 许强强 走完一步后构成一个新区域的充要条件是, 这条边第一次走且去到的那个点已经去过 直接用$map$当作$vis$数组做即可,复杂度$O(n log n)$ 1 #include<bits/stdc++.h> 2 #define FOR(i,a,b) for (register int i=(a);i<=(b);i++) 3 #define For(i,a,b) for (register int i=(a);i>=(b);i--) 4 #define mem(i,j) memset(i,j,sizeof(i)) 5 #define fi first 6 #define se second 7 #define pb push_back 8 #define MP make_pair 9 #define pii pair<int,int> 10 using