一、算法分析 基本题意是给定一个数列,然后每次可以找两个数,将这两个数交换位置,再将两个里面较大的那个换成任意一个大于等于这两个数中较小者的数。或者将两个数中较大的那个变得更大。最终目标是相邻两个数互质。要求这样的操作次数少等于n次。这道题的一个关键信息是操作次数不需要求最小值。 构造方式:因为不一 ...
分类:
其他好文 时间:
2021-05-24 08:40:45
阅读次数:
0
题意:二维空间里放了n个盒子,有水平往左和竖直往下两种重力,求重力作用之后形成的轮廓周长。 解析: 用数组分别存储xi、yi坐标下盒子的数量,分类讨论: 首先先把盒子的周长加上,即+4 1.如果底下有接触-2 2.如果左边有接触-2 3.如果右边有接触-2 水平和垂直都适用于此方法 代码: 1 #i ...
分类:
其他好文 时间:
2021-05-24 07:44:06
阅读次数:
0
题目: http://acm.hdu.edu.cn/showproblem.php?pid=5241 题面: Sample Input 2 0 2 Ouput Case #1: 1 Case #2: 1024 题意: M会使用n种语言,M的九个朋友会的语言都是M的子集,并且给出九个朋友会的语言的关系 ...
分类:
其他好文 时间:
2021-05-24 03:13:28
阅读次数:
0
题目链接 思路 关键在于想到括号匹配用栈维护的一个过程。 求最长的子串,所以每一个右括号尽可能匹配能匹配的最近的左括号。 \(dp[i]\):第i位向左匹配能匹配到的最长距离。 若当前位置$s[i]=)$且$stack.size()>0$,那么就说明当前位置的右括号可以匹配到左括号,到这一位的最长距 ...
分类:
其他好文 时间:
2021-05-04 16:27:32
阅读次数:
0
题目 题目链接:http://codeforces.com/problemset/problem/1511/D 定义一个字符串 \(s\) 的花费为满足 \(s_i=s_j\) 且 \(s_{i+1}=s_{j+1}\) 的数对 \((i,j)\) 的数量(\(0 \leq i<j<|s|-1\)) ...
分类:
其他好文 时间:
2021-04-30 12:45:53
阅读次数:
0
实验任务1 #include <stdio.h> long long fun(int n); // 函数声明 int main() { int n; long long f; while(scanf("%d", &n) != EOF) { f = fun(n); // 函数调用 printf("n ...
分类:
编程语言 时间:
2021-04-30 12:31:46
阅读次数:
0
任务1 #include <stdio.h> long long fun(int n); // 函数声明 int main() { int n; long long f; while(scanf("%d", &n) != EOF) { f = fun(n); // 函数调用 printf("n = ...
分类:
其他好文 时间:
2021-04-30 12:31:08
阅读次数:
0
#include<stdio.h> void fun(int n); int main(){ int n; long long f; while(scanf("%d", &n)!=EOF){ fun(n); } return 0; } void fun(int n){ int f[505],a[50 ...
分类:
其他好文 时间:
2021-04-30 12:29:16
阅读次数:
0
#include <stdio.h> long long fun(int n); // 函数声明 int main() { int n; long long f; while(scanf("%d", &n) != EOF) { f = fun(n); // 函数调用 printf("n = %d, ...
分类:
其他好文 时间:
2021-04-30 12:24:09
阅读次数:
0
#include <stdio.h> int main() { int a;float b; scanf("a=%d,b=%f",&a,&b); printf("%d,%f\n",a,b); printf("%d\n",a+(int)b); getchar(); } 应该输入:a=45,b=3.6 ...
分类:
编程语言 时间:
2021-04-29 11:51:37
阅读次数:
0