使用变换和加 () 对向量的元素进行求和和模 10^9+7<int>。有什么办法可以做到这一点吗?
Sum and modulo 10^9+7 of elements of the vector using transform and plus<int>(). Is there any way to do like this?
我想添加两个向量的元素(小价值示例v1 = {1,2,3} v2 {4,5,6},然后v3 = {5,7,9})并且还想服用modulo 10^9 7是否有任何更快的方法(比循环)?
您可以使用lambdas:
std::transform(v1.begin(), v1.end(), v2.begin(), std::back_inserter(v3),
[](int x, int y) { return x + y; });
或std :: valarray而不是向量:
std::valarray<int> v1 = {1,2,3};
std::valarray<int> v2 = {4,5,6};
std::valarray<int> v3 = v1 + v2; // or other arithmetics
std::transform
的另一种选择是使用std :: for_each函数。
相关文章:
- 向量 <int> a {N, 0} 和 int arr a[N] = {0} 的时间复杂度有什么区别
- "类模板示例<int>;"语句对 C++11 是什么意思?
- int数据类型的指针指向的是什么,如果是一个类的私有数据成员,我们创建了该类的两个对象?
- 是什么导致了这种使用三进制而不是短整型的有符号int到无符号int转换
- 关于int :0有什么特别之处在C++
- C++ 未初始化的本地(非全局)int 数组中的元素类型到底是什么?
- ((int) a) 和 (int(a)) 之间的区别是什么?
- 在 C 和 C++ 中作为函数参数,int **a 和 int a[][] 之间有什么确切的区别
- map<string, int> m= {}; 在C++中是什么意思?
- 有什么方法可以使用 int 变量来完成组件名称吗?
- int x_ 和 int x 在C++中有什么区别
- 行 - " vector<int> used(adj.size(), 0); "是什么意思?
- int** a = new int*[n]();这个函数有什么作用?
- *(int*)&data[18]在这段代码中实际上做了什么?
- 无符号长整型和无符号 int 之间有什么区别,这 2 种类型应该如何在 c# 中封送?
- 在 c++ 上,您通常使用什么 int 值、'255' 和十六进制值'0xff'?
- 有人可以向我解释什么[](int i){返回i%2 == 0;} 方法
- 更大的在集合中扮演什么<int>角色?
- 如何在矩阵中使用指针.这行代码的作用是什么:int r=**(++b);
- 编译器在这里做什么:int a = b * (c * d * + e)