首页 > 其他分享 >2023/04/12刷题

2023/04/12刷题

时间:2023-04-13 20:23:22浏览次数:59  
标签:12 cout 04 int long define include id 刷题

C. Make It Good

链接

C. Make It Good

这个题是说去掉前缀,我们可以发现如果一个数列可以分为一个连续的上升区域和一个连续的下降区域的话,该数列是好的,该题的思路就是从后向前找到符合该特征的最长的序列

#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;
int a[N] = {0};

void solve() {

	int n;
	scanf("%lld", &n);
	for (int i = 1; i <= n; i++) {
		scanf("%lld", &a[i]);
	}
	int mmax_id = 0;//下标最大的id
	//倒着先寻找向左递增的序列,找到第一个不符合条件的序列
	for (int i = n; i >= 2; i--) {
		if (a[i] > a[i - 1]) {
			mmax_id = i;//保存为mmax_id
			break;
		}
	}
	int l = 1;
	int ans = 0;
	//从mmaxid开始向左寻找递减序列,找到第一个不符合条件的id
	for (int i = mmax_id; i >= 2; i--) {
		if (a[i] < a[i - 1]) {
			l = i;//将最后满足条件的保存到l变量里面
			break;
		}
	}
	ans = l - 1;//答案就是l-1
	cout << ans << '\n';//打印





}
signed main () {
//	std::ios::sync_with_stdio(false), std::cin.tie(nullptr), std::cout.tie(nullptr);
	int t;
	cin >> t;
	while (t) {
		solve();
		t--;
	}


	return 0;
}

B. Perfect Number

链接

B. Perfect Number

题解上面说数据范围在2*10e7但是我证明不了为什么在这个范围之内,然后直接写一个求位数的函数直接枚举就可以了

#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 weishu(int x) {//判断这个数的是几位数的函数
	int sum = 0;
	while (x > 0) {
		sum = sum + x % 10;
		x = x / 10;
	}
	return sum;//返回位数
}

signed main () {
	std::ios::sync_with_stdio(false), std::cin.tie(nullptr), std::cout.tie(nullptr);
	int k;
	cin >> k;
	int cnt = 0;
	int ans = 0;
	for (int i = 19; i <= 2 * 10000000; i++) {
		if (weishu(i) == 10) {
			cnt++;
		}
		if (cnt == k) {//当cnt==k的时候退出循环
			ans = i;//记录答案

			break;
		}
	}
	cout << ans << '\n';//打印结果

	return 0;
}

标签:12,cout,04,int,long,define,include,id,刷题
From: https://www.cnblogs.com/harper886/p/17316255.html

相关文章

  • 随笔20230413
    突然很想找个根本不讲中文的国家生活个一年两年。远离世俗、所有人,只和自己的灵魂独处一会,仔细地问问自己,你、我究竟从何而来,又终将魂归何处。我有深厚的基础生物知识,我系统学习过大量的理工科知识,我理解万事万物都有其运行的规律我明白一切缘起都终将湮灭可是我还是固执的认......
  • ubuntu 16.04.7初始化脚本
    #!/bin/bash#在root用户下运行cp/etc/apt/sources.list/etc/apt/sources.list.baksed-i"s@http://.*archive.ubuntu.com@http://mirrors.tuna.tsinghua.edu.cn@g"/etc/apt/sources.listsed-i"s@http://.*security.ubuntu.com@http://mirrors.tuna.tsingh......
  • day12-Web登录认证
    案例-登录认证在前面的课程中,我们已经实现了部门管理、员工管理的基本功能,但是大家会发现,我们并没有登录,就直接访问到了Tlias智能学习辅助系统的后台。这是不安全的,所以我们今天的主题就是登录认证。最终我们要实现的效果就是用户必须登录之后,才可以访问后台系统中的功能。1.......
  • HDU 5045 Contest(费用流)
    题目地址:HDU5045终于在比赛中用网络流A了一道题。。。刷了那么多网络流,终于用到一次了。。虽然题目很简单,但是还是要纪念一下下。。。我这题的思路就是求m/n次费用流,每n个算作同一轮,对这同一轮的求最大费用流。建图就很简单了,最简单的二分图模型。代码如下:#include<iostre......
  • HDU 2120 Ice_cream's world I(并查集)
    题目地址:HDU2120这题虽然字数不多,但就是看不懂。。意思是求最多有多少个被墙围起来的区域。显然就是求环的个数。然后用并查集求环个数就可以了。代码如下:#include<iostream>#include<cstdio>#include<string>#include<cstring>#include<stdlib.h>#include<math......
  • HDU 2604 Queuing(矩阵快速幂)
    题目地址:HDU2604这题只要推出公式来,构造矩阵就很容易了,问题是推不出公式来。。TAT。。从递推的思路考虑,用f(n)表示n个人满足条件的结果,如果最后一个是m则前n-1人可以任意排列,有f(n-1)种;如果是f,则考虑后两位mf和ff,没有一定满足或者一定不满足的状态,所以继续考虑一位,考虑后三位......
  • docker----day04()
    面试如何自定制上下文管理器#一个对象如果实现了__enter__和___exit__方法,那么这个对象就支持上下文管理协议,即with语句##上节回顾```python#1docker启动,停止,查看状态命令 systemctlstartdockersystemctlstopdockersystemctlstatusdockerd......
  • es 同步索引报错:ElasticSearch ClusterBlockException[blocked by: [FORBIDDEN/12/ind
    es同步索引报错:ElasticSearchClusterBlockException[blockedby:[FORBIDDEN/12/indexread-only/allowdelete(api)]原因:网上有的解决方式是方法一,我试过,没有生效使用的是方法二方法一curl-XPUT-H"Content-Type:application/json"https://localhost:9200/_all/_set......
  • ubuntu 20.04 基于docker快速搭建中文 的一些问题解决 Utilization of discoverer pro
    1.Utilizationofdiscovererprocessesover75%解决办法问题状态如下zabbixserver在开启Discovery功能后,zabbixweb页面报警提示:“Zabbixserver:Ulitizationofdiscovererprocessesover75%”。原因:每个discovery任务占用一个discovery进程,但是zabbixserver默认只配置了一......
  • 04_HTTPS实验
    04_HTTPS实验《信息安全综合实践》实验报告HTTPS实验姓名:学号:邮箱:实验时长:分钟一、实验目的理解计算机网络基本概念;了解密码技术在网络安全中的应用;学习和掌握web服务搭建基本流程;学习和掌握https服务搭建基本流程。二、实......