前言 在?为什么-12 我发现每次我打1004都会出现蜜汁bug并且一直调不对 然后晚上突然就发现自己是个sb然后1A 技不如人,甘拜下风.jpg 博主已经进入贤者模式就只写自己做的了 队友做的咕咕咕了 Valentine’s Day Description 有n个硬币,第i个硬币有pi的概率正面朝上 你需要选择
N个整数组成的序列a[1],a[2],a[3],…,a[n],你可以对数组中的一对元素进行交换,并且交换后求a[1]至a[n]的最大子段和,所能得到的结果是所有交换中最大的。当所给的整数均为负数时和为0。 例如:{-2,11,-4,13,-5,-2, 4}将 -4 和 4 交换,{-2,11,4,13,-5,-2, -4},最大子段和为11 + 4 + 13
总结 1:使用const int maxn 2:num[maxn]将下标与存储数据结合 #include<iostream> #include<cstdio> using namespace std; const int maxn = 100010; int main() { int tem; int n, max = -1, maxi = 0, num[maxn] = { 0 }; scanf("%d",&n); for (int i = 1
问题描述 编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20。然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来。如果有两个元素值出现的次数相同,即并列第一,那么只打印比较小的那个值。 输入格式:
题目描述 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。 输入 10个整数 输出 整理后的十个数,每个数后跟一个空格(注意最后一个数后也有空格) 样例输入 2 1 3 4 5 6 7 8 10 9 样例输出 1 2 3 4 5 6 7
二分图最大匹配问题 扑克题还是用map比较方便 #include<bits/stdc++.h> using namespace std; #define MAXI 52 int yd[MAXI][2]; int xw[MAXI][2]; int used[MAXI]; int vis[MAXI]; int n,m; map<char,int>mm; bool judge(int a,int b) { if( mm[xw[a][0]]>mm[ yd[b][0]
题意 给定n个路口 加上一些单向路 求遍历完所有路口需要多少人 人是空降的 哪里都可以作为起点 求 最小边覆盖 (用最少的边覆盖所有的点) 也叫最小路径覆盖(更形象) 最小边覆盖==所有点-最大匹配数(匈牙利算法) 理解: 如果没有路 则要n个人 多一条路 则可以减一个人 .