对于已知个数的集合来说,枚举其非空子集的最简单方法是二进制枚举法 void print_subset(int n,int s) { for(int i=0;i<n;i++) { if(s&(1<<i)) { printf("%d ",i); //事实上i输出的是集合的数组标号 } } cout<<e ...
分类:
编程语言 时间:
2020-07-25 09:38:01
阅读次数:
68
比赛链接:https://codeforces.com/contest/1390 A. 123-sequence 题意 给出一个只含有 $1,2,3$ 的数组,问使所有元素相同至少要替换多少元素。 题解 统计数组中出现次数最多的元素即可。 代码 #include <bits/stdc++.h> us ...
分类:
其他好文 时间:
2020-07-24 21:43:12
阅读次数:
67
代码如下: 将小写转换为大写 #include<cstdio> #include<iostream>#include<algorithm>using namespace std;int main(){ char a; cin>>a; char b; b=a-32; cout<<b<<endl; re ...
分类:
其他好文 时间:
2020-07-24 09:57:40
阅读次数:
62
//打印两个整数指定范围的所有整数 #include<iostream> int main() { int sum=0; int a=0,b=0; std::cout<<"请输入两个整数:"<<std::endl; std::cin>>a>>b; int tmp=a; if(a>=b) { whil ...
分类:
其他好文 时间:
2020-07-23 16:24:59
阅读次数:
81
数学结论: (1)a%b的最大值是b-1; (2)f(m)=m%a1 + m%a2 +......+ m%an 的最大值是(a1-1) +......+(an-1)。 题目描述 现给定n个整数,并定义一个非负整数m,且令f(m) = (m%a1)+(m%a2)+...+(m%an)。此处的X % Y ...
分类:
其他好文 时间:
2020-07-23 16:00:19
阅读次数:
75
模板 函数模板 相比于函数的重载,减少了代码的冗余 template <class T> //定义函数模板 void outputArray(const T *array, int count) { for (int i = 0; i < count; i++) cout << array[i] < ...
分类:
其他好文 时间:
2020-07-23 01:36:30
阅读次数:
80
求两数的最大公约数用户输入两个数,求这两个数的最大公约数。一、程序源代码(一)#include<iostream>usingnamespacestd;intmain(){intn1,n2;cout<<"输入两个整数:";cin>>n1>>n2;while(n1!=n2){if(n1>n2)n1-=n2;elsen2-=n1;}cout<&
分类:
其他好文 时间:
2020-07-22 23:38:21
阅读次数:
101
虚树对于多次询问的时候有这优化复杂度的好处,其原理就是只保留有用节点和必须保留的有用节点的lca 先求一遍dfs序后,用栈模拟操作,根据lca是否在栈中确定是否要将lca加入栈,因为重构了树,因此原来的边的信息需要进行更换 对于本题,新的边其实就是路径上的边权的最小值,这是因为随便切掉一个边就能把他 ...
分类:
其他好文 时间:
2020-07-22 16:20:10
阅读次数:
75
####题意 区间和的个数 给定一个整数数组 nums,返回区间和在 [lower, upper] 之间的个数,包含 lower 和 upper。 区间和 S(i, j) 表示在 nums 中,位置从 i 到 j 的元素之和,包含 i 和 j (i ≤ j)。 说明: 最直观的算法复杂度是 O(n2 ...
分类:
其他好文 时间:
2020-07-22 13:50:12
阅读次数:
66
1 #include <iostream> 2 #include <cstring> 3 4 int main() 5 { 6 char *str1 = "happy"; 7 //64位系统,返回的是指针的大小(指针占8字节) 8 std::cout << str1 << "-sizeof:" << ...
分类:
编程语言 时间:
2020-07-22 11:20:43
阅读次数:
71