abc363+cf960div.2+牛客周赛49轮

news2024/11/15 6:43:51

C - Avoid K Palindrome 2 (atcoder.jp)

思路:

罗列出排列的每一种情况,再根据题目要求进行判断

代码:

void solve()
{
	ll n, k;
	cin >> n >> k;
	string s;
	vector<char>a;
	cin >> s;
	for (int i = 0; i < n; i++)a.push_back(s[i]);
	sort(a.begin(), a.end());
	bool ok, flag;
	ll ans = 0;
	while (true)
	{
		ok = true;
		for (int i = 0; i <= n - k; i++)
		{
			flag = true;
			for (int j = 0; j < k; j++)
			{
				if (a[i + j] != a[i + 1 + k - j])
				{
					flag = false;
				}
			}
			if (flag)ok = false;
		}
		if (ok)ans++;
		if(!next_permutation(a.begin(),a.end()))break;
	}
	cout << ans << endl;
	return;
}

D - Palindromic Number (atcoder.jp)

思路其实很简单,根据需要的i-th进行判断即可

#define _CRT_SECURE_NO_WARNINGS 1
//------ 棘手大学 世界第一 ------//
#include<bits/stdc++.h>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<vector>
#include<queue>
#include<map>
#include<cmath>
using namespace std;
//gcd最大公约数,lcm最小公倍数
typedef long long ll;
#define IOS ios::sync_with_stdio(false); cin.tie(nullptr), cout.tie(nullptr);
priority_queue<int, vector<int>, greater<int>> pq;
map<int, int>mp;
const int N = 2e6 + 10;
long long sum[60], a[60];
long long n;
int ans[1010], len, b[1010];
ll pow(int x) {
    long long res = 1;
    for (int i = 1; i <= x; i++)
        res *= 10;
    return res;
}
int main() {
    IOS;
    for (int i = 1; i <= 37; i++) {
        int mi = ((i + 1) / 2 - 1);
        a[i] = 1LL * 9 * pow(mi);
        sum[i] = sum[i - 1] + a[i];
    }
    cin >> n;
    if (n <= 1)
    {
        cout << "0" << endl;
        return 0;
    }
    n -= 1;
    int pos = lower_bound(sum + 1, sum + 38, n) - sum;
    if (n == sum[pos - 1])pos--;
    while (n) {
        b[++len] = n % 10;
        n /= 10;
    }
    for (int i = 1, j = len; i <= len; i++, j--)
        ans[i] = b[j];
    ans[1]--; ans[len]++;
    if (ans[1] == 0 && ans[2] == 0)ans[2] = 9;
    int now = len;
    while (ans[now] >= 10) {
        ans[now - 1] += ans[now] / 10;
        ans[now] %= 10;
        now--;
    }
    int l = len, r = len + 1;
    if (pos % 2 == 1)l--;
    while (l >= 1) {
        ans[r] = ans[l];
        l--; r++;
    }
    l = 1, r--;
    while (ans[l] == 0)
        l++;
    while (ans[r] == 0)
        r--;
    for (int i = l; i <= r; i++)
        cout << ans[i];
}

Problem - A - Codeforces

思路:

由题意可知两者每次肯定都会做出最佳选择(即选取最大),所以我们只需要判断最大值是奇数还是偶数即可(因为是Alice先手,所以奇数A必胜,否则B胜)

代码:

//该段代码经过修改仅提供思路,不能AC
void solve()
{
	ll a[N];
	ll n;
	cin >> n;
	for (int i = 1; i <= n; i++)
	{
		cin >> a[n];
		mp[a[n]]++;
	}
	sort(a + 1, a + 1 + n, cmp);
	ll flag = 1;
	for (auto k : a)
	{
		if (mp[a[k]] % 2 != 0)
		{
			flag = 0;
		}
	}
	if (flag)cout << "NO" << endl;
	else
		cout << "NO" << endl;
	return;
}

Problem - B - Codeforces

代码:


#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdbool.h>

#define N 2000010
typedef long long ll;

ll n, t, x, y;
ll dp[N];

void solve() {
    scanf("%lld %lld %lld", &n, &x, &y);
    for (ll i = 1; i <= n; i++) {
        if (i >= y && i <= x) {
            dp[i] = 1;
        }
    }
    for (ll i = y - 1; i >= 1; i -= 2) {
        dp[i] = -1;
        if (i - 1 >= 1) {
            dp[i - 1] = 1;
        }
    }
    for (ll i = x + 1; i <= n; i += 2) {
        dp[i] = -1;
        if (i + 1 <= n) {
            dp[i + 1] = 1;
        }
    }
    for (ll i = 1; i <= n; i++)
        printf("%lld ", dp[i]);
    printf("\n");
}

int main() {
    scanf("%lld", &t);
    while (t--) {
        solve();
    }
    return 0;
}

Problem - C - Codeforces

代码:

void solve() {
    int n;
    cin >> n;
    vector<ll> a(n);
    for (int i = 0; i < n; ++i)
        cin >> a[i];

    ll res = 0;

    for (int i = 0; i < 2; ++i) {
        vector<bool> vis(n + 1);
        ll ma = 0;
        for (ll& x : a) {
            if (vis[x])
                ma = max(ma, x);
            vis[x] = true;
            res += x;
            x = ma;
        }
    }

    for (int i = 0; i < n; ++i)
        res += (n - i) * a[i];

    cout << res << endl;
}

C-嘤嘤不想买东西喵_牛客周赛 Round 49(重现赛) (nowcoder.com)

本质就是求最大连续子段和

代码:

#define _CRT_SECURE_NO_WARNINGS 1
//------ 棘手大学 世界第一 ------//
#include<bits/stdc++.h>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<vector>
#include<queue>
#include<map>
#include<cmath>
using namespace std;
//gcd最大公约数,lcm最小公倍数
typedef long long ll;
#define IOS ios::sync_with_stdio(false); cin.tie(nullptr), cout.tie(nullptr);
priority_queue<int, vector<int>, greater<int>> pq;
map<int, int>mp;
const int N = 2e6 + 10;
int mod(string a, ll b)//高精度a除以单精度b
{
	ll n = 0;
	for (int i = 0; i < a.size(); i++)  n = (n * 10 + (a[i] - '0')) % b;  //求出余数
	return n;
}
string gcd(string a, ll b)  // 欧几里得算法
{
	while (b != 0)
	{
		ll temp = b;
		b = mod(a, b);
		a = to_string(temp);
	}
	return a;
}
int gcd1(int a, int b)//a、b不可以为0(很快)
{
	while (b ^= a ^= b ^= a %= b);
	return a;
}
int gcd2(int a, int b)//a、b可以为0(很快)
{
	if (b) while ((a %= b) && (b %= a));
	return a + b;
}
int lcm1(int a, int b) {
	return a * b / gcd1(a, b);
}
bool cmp(ll x, ll y)
{
	return x > y;
}
ll a[N], dp[N];
void solve()
{
	ll n, x;
	cin >> n >> x;
	for (int i = 1; i <= n; i++)
		cin >> a[i], a[i] -= x;
	ll ans = 0;
	for (int i = 1; i <= n; i++)
	{
		dp[i] = max(a[i], dp[i - 1] + a[i]);
	}
	for (int i = 1; i <= n; i++)
	{
		ans = max(ans, dp[i]);
	}
	cout << ans << endl;
	return;
}
int main()
{
	IOS;
	solve();

	return 0;
}

D-嘤嘤不想求异或喵_牛客周赛 Round 49(重现赛) (nowcoder.com)

求区间异或和(以后直接套用模板算了)

代码:

ll xor_prefix(ll n) {
	switch (n % 4) {
	case 0: return n;
	case 1: return 1;
	case 2: return n + 1;
	case 3: return 0;
	}
	return 0;
}
int xor_range(ll L, ll R) {//区间所有整数异或和
	return xor_prefix(R) ^ xor_prefix(L - 1);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1941007.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在Windows安装、部署Tomcat的方法

本文介绍在Windows操作系统中&#xff0c;下载、配置Tomcat的方法。 Tomcat是一个开源的Servlet容器&#xff0c;由Apache软件基金会的Jakarta项目开发和维护&#xff1b;其提供了执行Servlet和Java Server Pages&#xff08;JSP&#xff09;所需的所有功能。其中&#xff0c;S…

hcip报名费用多少?该如何备考hcip?

现在很多行业都比较萧条&#xff0c;但是有个行业正是热门的时候&#xff0c;那就是网络领域&#xff0c;那么想进入这个领域&#xff0c;肯定知道hcip是什么&#xff0c;那么小编就针对几个常常被问到两个话题&#xff0c;hcip报名费用多少?该如何备考hcip?给大家好好聊聊其…

JavaScript进阶之深入面向对象

目录 深入面向对象一、编程思想1.1 面向过程1.2 面向对象&#xff08;oop&#xff09; 二、构造函数三、原型3.1 原型3.2 constructor属性3.3 对象原型3.4 原型继承3.5 原型链 深入面向对象 一、编程思想 1.1 面向过程 面向过程是分析解决问题所需要的步骤&#xff0c;用函数…

Python爬虫实战 | 爬取携程网景区评论|美食推荐|景点列表数据

本文采用Selenium库爬取携程网的景区评论。 携程接口接入 Selenium介绍 Selenium是一个Web的自动化测试工具&#xff0c;可以按指定的命令自动操作&#xff0c;如让浏览器加载页面、获取数据、页面截屏等。Selenium本身不自带浏览器&#xff0c;需要与第三方浏览器结合才能使…

Mysql高价语句

一.高级语法的查询语句 1.排序语法&#xff08;默认的排序方式就是升序&#xff09;。 升序ASC&#xff1a;select * from test01 order by name; 降序DESC&#xff1a;select * from test01 order by name desc; 多个列排序&#xff1a;以多个列作为排序&#xff0c;只有第一…

分布式服务框架zookeeper+消息队列kafka

一、zookeeper概述 zookeeper是一个分布式服务框架&#xff0c;它主要是用来解决分布式应用中经常遇到的一些数据管理问题&#xff0c;如&#xff1a;命名服务&#xff0c;状态同步&#xff0c;配置中心&#xff0c;集群管理等。 在分布式环境下&#xff0c;经常需要对应用/服…

【Python】爬虫实战02:电影市场票房情况分析与可视化

1. 前言 在信息爆炸的时代&#xff0c;数据分析已成为各行各业的重要工具。特别是在电影行业&#xff0c;票房数据不仅反映了电影的市场表现&#xff0c;也是电影产业健康发展的关键指标。为了更好地理解和分析中国大陆电影市场的票房情况&#xff0c;本代码提供了一个自动化数…

【Linux/Windows】Wireshark抓包工具下载、安装、使用、数据分析、常用知识点

文章目录 Linux版下载Windows版下载Wireshark使用Wireshark测试Tcp三次握手Wireshark常见过滤条件本篇小结 更多相关内容可查看 在一个阳光明媚的周五清晨&#xff0c;一起快乐的玩耍一下Wireshark Linux版下载 1.使用yum安装wireshark yum -y install wireshark2.使用yum安…

全网最简单的Mysql 8.3 安装及环境配置教程

Windows系统计算机环境配置 第一篇关于环境配置的文档之MySQL 8.3&#xff08;msi版本和zip版本略有不同&#xff0c;本文档介绍msi版本&#xff0c;若zip版本有需求&#xff0c;请在评论区留言&#xff0c;我后续会出相关文档。&#xff09; 前言 网上的MySQL配置教程非常多…

杰发科技AC7840——SENT数据解析及软件Sent发送的实现

0. 测试环境 AC7840官方Demo板&#xff1b; 图莫斯0503 DSlogic U2Basic 使用引脚 输出脚&#xff1a;PB1 时钟&#xff1a;PB2&#xff0c;其他引脚可以不初始化&#xff0c;不接线 1. 数据解析 以下是SENT数据的格式&#xff08;1tick以3us为例&#xff09;&#…

智能优化算法之灰狼优化算法(GWO)

智能优化算法是一类基于自然界中生物、物理或社会现象的优化技术。这些算法通过模拟自然界中的一些智能行为&#xff0c;如遗传学、蚁群觅食、粒子群体运动等&#xff0c;来解决复杂的优化问题。智能优化算法广泛应用于各种工程和科学领域&#xff0c;因其具有全局搜索能力、鲁…

Android Display Graphics #User APP的绘制与WMS

如果图片链接失败&#xff0c;请扫码查看文章详情。 Android Display Graphics系列文章-汇总 系列文章请扫关注公众号&#xff01; 1、User APP的绘制 用户APP在调用ViewRootImpl#setView()方法时&#xff0c;首次请求VSync信号。之后进入loop循环&#xff0c;等待显示事件。…

【数据结构】:链表实现洗牌功能

此操作包含的基本功能有&#xff1a; 组牌&#xff1a;组建 52 张扑克牌 四种花色&#xff1a;“♥️”&#xff0c;“♠️”&#xff0c;“⬛️”&#xff0c;“♣️”每种花色 13 张牌&#xff1a;1~13 洗牌&#xff1a;将 52 张扑克牌打乱顺序发牌&#xff1a;给三个人每人发…

关于光伏电站监控数据

电站监控后台显示的发电量数据不能真实的反应不同逆变器方案的发电量差异。组串式逆变器由于交流线缆长&#xff0c;损耗的电量比集中式方案高1-2%左右。在通过监控后台显示的发电量衡量不同逆变器的差异时&#xff0c;需要减掉这部分差值。 光伏电站监控后台统计的发电量是从光…

桌面小宠物发布一周,第一次以独立开发者的身份赚到了100块

收入数据(AppStore一周收入统计) AppStore付费工具榜第七 应用简介 桌面新宠(NewPet)&#xff0c;是我耗时半年开发的一款桌面宠物。我是被 QQ 宠物影响的那批人&#xff0c;上学时天天给 QQ 宠物喂食&#xff0c;很可惜它现在不在了。所以&#xff0c;我开发的初衷是想要在电…

图像分类算法概述:深度学习方法

图像分类算法概述&#xff1a;深度学习方法 图像分类是计算机视觉中的一个基本任务&#xff0c;近年来随着深度学习的发展&#xff0c;图像分类算法取得了巨大的进步。本文将概述主要的深度学习图像分类算法。 #mermaid-svg-fkTtkPLl9ahuVT6w {font-family:"trebuchet ms…

Linux(CentOS7)部署PHP-7.2.17源码包

PHP-7.2.17源码包部署 安装php1. 解压并进入php-7.2.17文件夹2. 编写php.sh脚本3. 执行php.sh 配置Apache与PHP1. 编写httpd.conf配置文件2. 编写php测试脚本 部署HTTPD-2.4.37源码包点击跳转 部署MySQL-5.6.31源码点击跳转 下载源码包和依赖的源码包&#xff0c;资源见文章顶…

TiDB实践—索引加速+分布式执行框架创建索引提升70+倍

作者&#xff1a; 数据源的TiDB学习之路 原文来源&#xff1a; https://tidb.net/blog/92d348c2 背景介绍 TiDB 采用在线异步变更的方式执行 DDL 语句&#xff0c;从而实现 DDL 语句的执行不会阻塞其他会话中的 DML 语句。按照是否需要操作 DDL 目标对象所包括的数据来划分…

linux学习week4+5

linux学习 十四.shell编程 9.单分支多分支 基本语法&#xff1a; if [ 条件 ] then代码 elif [ 条件 ] then代码 fi10.case语句 基本语法&#xff1a; case $变量名 in "值1") 程序1&#xff08;如果变量的值等于值1&#xff0c;则执行程序1&#xff09; ;; &q…

LeetCode刷题记录(第三天)55. 跳跃游戏

题目&#xff1a; 55. 跳跃游戏 标签&#xff1a;贪心 数组 动态规划 题目信息&#xff1a; 思路一&#xff1a;动态规划 确定dp数组含义&#xff1a; dp[i] 第[i]个位置能否达到确定递推公式&#xff1a; dp[i] 能不能达到&#xff0c;取决于前面d[i-j]&#xff0c;d[i-j…