首页 > 其他分享 >2023/03/11刷题

2023/03/11刷题

时间:2023-03-12 19:45:06浏览次数:52  
标签:11 03 删除 int long st define include 刷题

A. Minimizing the String

链接

A. Minimizing the String

这个题的意思就是删除一个字母让字符串的字典序变得最小,如果字符串的顺序是abcda的话很明显我们要删除d所以我们要删除如果字母的序号是递增的话,删除最后一个递增的字符就可以了,如果例如bbbbbbbbb这种全部相同的话,就删除最后一个,使用这种贪心的思路就可以

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <vector>
#include <cstring>
#include <unordered_set>
#include <set>
#include <stack>
#include <map>
#include <cmath>
#include <sstream>
#include <queue>
#define int long long
#define yes cout<<"YES"<<'\n'
#define no 	cout<<"NO"<<'\n'

using namespace std;
const int N = 200008;


signed main () {
	int n;
	cin >> n;
	string s;
	bool st[N] = {false};//标志变量,因为字符串不好直接删除
	cin >> s;
	int flag = 0;
	for (int i = 0; i < s.size() - 1; i++) {
		if (s[i] > s[i + 1]) {//如果前面的字符的值大于后面的话
			st[i] = true;//将s[i]标记为删除
			flag = 1;
			break;//我们只找第一个这样的数,所以直接退出
		}
	}
	if (flag == 0) {//没找到标记最后一个字符
		st[s.size() - 1] = true;
		for (int i = 0; i < s.size(); i++) {
			if (st[i] != true) {//打印
				cout << s[i];
			}
		}
	} else {
		for (int i = 0; i < s.size(); i++) {
			if (st[i] != true) {
				cout << s[i];//打印
			}
		}

	}





	return 0;
}

B. Ehab Is an Odd Person

链接

B. Ehab Is an Odd Person

这个题就是通过给定条件的构造能不能让这个数列从小到大排列,很明显肯定有规律,规律就是只要存在一个奇数和偶数就一定可以构造出来,否则就构造不出来

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <vector>
#include <cstring>
#include <unordered_set>
#include <set>
#include <stack>
#include <map>
#include <cmath>
#include <sstream>
#include <queue>
#define int long long
#define yes cout<<"YES"<<'\n'
#define no 	cout<<"NO"<<'\n'

using namespace std;
const int N = 100008;

int a[N];
signed main () {
	int n;
	int st[3] = {0};//记录奇数和偶数的数量
	scanf("%lld", &n);
	for (int i = 0; i < n; i++) {
		scanf("%lld", &a[i]);
		st[a[i] % 2]++;
	}
	if (st[0] >= 1 && st[1] >= 1) {//如果奇数和偶数的数量都超过一个
		sort(a, a + n);//排序一下
		for (int i = 0; i < n; i++) {
			printf("%lld ", a[i]);//打印
		}
	} else {//否则不能排序直接打印
		for (int i = 0; i < n; i++) {
			printf("%lld ", a[i]);
		}

	}

	return 0;
}

B. Absent Remainder

链接

B. Absent Remainder

这个题的思路还是比较清晰的,首先a%b的结果肯定是小于b的这是肯定的,所以我们找到数列里面最小的那一个数,然后用剩下的n-1个数和它配对肯定是可以满足条件的,这样问题就很简单了

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <vector>
#include <cstring>
#include <unordered_set>
#include <set>
#include <stack>
#include <map>
#include <cmath>
#include <sstream>
#include <queue>
#define int long long
#define yes cout<<"YES"<<'\n'
#define no 	cout<<"NO"<<'\n'

using namespace std;
const int N = 200005;

void solve() {
	int a[N] = {0};
	int n;
	scanf("%lld", &n);
	for (int i = 0; i < n; i++) {
		scanf("%lld", &a[i]);
	}
	sort(a, a + n); //先排序
	int t = n - 1; //我这里从最后一个向前打印n/2个结果
	for (int i = 0; i < n / 2; i++) { //打印n/2个结果
		cout << a[t--] << ' ' << a[0] << '\n'; //每次打印a[t]和a[0]并且向后移
	}





}
signed main () {
	int t;
	cin >> t;
	while (t) {
		solve();
		t--;
	}


	return 0;
}
/*
1
3
2 2 2
*/

标签:11,03,删除,int,long,st,define,include,刷题
From: https://www.cnblogs.com/harper886/p/17208885.html

相关文章

  • Mybatis-lesson05-结果映像-第一课:简单的映射-03-12
    第一步:pojo的属性和数据库的列名不一样packagecom.feijian.pojo;publicclassUser{privateintid;privateStringname;privateStringpassword;......
  • P1122 最大子树和
    P1122最大子树和-洛谷|计算机科学教育新生态(luogu.com.cn)题目就是要求:树上点权之和最大的一个连通分量令dp[i]为必须选i节点的情况下,最大的子树点权和则有转移......
  • C++银行卡管理系统[2023-03-12]
    C++银行卡管理系统[2023-03-12]第一次编程作业:(1)将代码阅读、调试通过;(2)添加功能:包括增加资金转账明细、按时间统计账号转账信息等。头文件:bankcard.h源文件:mai......
  • 基于QT实现的文献管理系统[2023-03-12]
    基于QT实现的文献管理系统[2023-03-12]基于QT文献管理系统的设计与实现用户管理:管理员可以文献管理系统编辑用户信息,用户可以自行注册账号,并且可以修改个人信息和密码。......
  • [20230308]12c以上版本模糊查询问题.txt
    [20230308]12c以上版本模糊查询问题.txt--//前几天看了链接http://www.itpub.net/thread-2148700-1-1.html,对方提到模糊查询慢的问题,实际上这个问题使用常规模式基本--//无......
  • C++11异步编程(std::async, std::future, std::packaged_task, std::promise)
    文章目录​​1.std::future概述含义​​​​2.std::future​​​​2.std::packaged_task​​​​2.std::promise​​1.std::future概述含义C++0x提供了future和promise来简......
  • C/C++书籍借阅系统[2023-03-12]
    C/C++书籍借阅系统[2023-03-12]1.程序名称:书籍借阅系统2.课题来源:课程组自拟3.课题类型:综合型4.目的和意义:1)综合运用所学知识,解决实际问题2)全面提高学生的程序设计......
  • 【PAT乙】1003 我要通过! (20分) 字符串条件判定
    problem“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于PAT的“答案正确”大派送——只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案......
  • Day11-综合案例
    1.面向接口的开发(spring的ioc)掌握1.问题我们之前在servlet中创建业务层对象:UserServiceImplservice=newUserServiceImpl();UserServiceImpl属于一个类弊端:如......
  • P1149 [NOIP2008 提高组] 火柴棒等式 题解
    [NOIP2008提高组]火柴棒等式题目描述给你\(n\)根火柴棍,你可以拼出多少个形如\(A+B=C\)的等式?等式中的\(A\)、\(B\)、\(C\)是用火柴棍拼出的整数(若该数非零,则最高......