当前位置: 首页 > news >正文

Codeforces Round 928 (Div. 4) (A-E)

比赛地址 : 

https://codeforces.com/contest/1926

遍历每一个字符串,比较1和0的数量即可,那个大输出那个;

#include<bits/stdc++.h>
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define endl '\n'
#define lowbit(x) (x&(-x))
#define sz(a) (int)a.size()
#define pb push_back
#define all(a) a.begin(), a.end()
#define int long long
typedef long long LL;
const int mod = 1e9+7;
const int N = 2e5+10;using namespace std;inline void solve(){int n ; cin >> n ;for(int i=1;i<=n;i++){string s ; cin >> s ;int t = 0 ;for(char c : s){if(c=='A') t++;}if(t>=3) cout << "A" << endl;else cout << "B" << endl;}
}signed main()
{IOSint _ = 1;// cin >> _;while(_ --) solve();return 0;
}

B . 

模拟,先找第一个出现的'1' , 然后求这一列1的个数(也就是正方形的一条边) : n,然后求'1'的总个数: s,判断n*n==s && 右下角那个点也是1,就能够判断是不是正方形,否则就是三角形 ;

#include<bits/stdc++.h>
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define endl '\n'
#define lowbit(x) (x&(-x))
#define sz(a) (int)a.size()
#define pb push_back
#define all(a) a.begin(), a.end()
#define int long long
typedef long long LL;
const int mod = 1e9 + 7;
const int N = 2e5 + 10;using namespace std;char a[13][13] ;inline void solve() {int n ; cin >> n ;int t = 0 ;bool tag = true;int x = 0 , y = 0 ;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){cin >> a[i][j] ;if(a[i][j]=='1' && tag){x = i ;y = j ;tag = false ;}if(a[i][j] == '1') t++;}}bool st = false ;int b = 0 ;for(int j=y;j<=n;j++){if(a[x][j]=='1') b++;// 长度		}if(x+b-1<=n&&y+b-1<=n&&a[x+b-1][y+b-1]=='1') st = true ;if(t==b*b && st) cout << "SQUARE" << endl;else cout << "TRIANGLE" << endl ;}signed main()
{IOSint _ = 1;cin >> _;while (_--) solve();return 0;
}

C

前缀和 + 预处理

可以通过前缀和进行预处理,为O(2e5+n),然后对于每一个数据,都能够通过O(1)进行输出 ;

#include<bits/stdc++.h>
using namespace std;
typedef long long LL ;
const int N = 2e5 + 10 ;
LL a[N] ;int get(int x){int t = 0 ;while(x) t+=x%10,x/=10;return t ;
}void init(){a[1] = 1 ;for(int i=2;i<=2e5;i++){a[i] = a[i-1] + get(i) ;}
}int main() {int tt ; cin >> tt ;init() ;while(tt--){int n ; cin >> n ;cout << a[n] << endl;}return 0 ;
}

数学 推式子

分情况讨论,推出数学式子 , 然后算出答案 ;

#include<bits/stdc++.h>
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define endl '\n'
#define lowbit(x) (x&(-x))
#define sz(a) (int)a.size()
#define pb push_back
#define all(a) a.begin(), a.end()
typedef long long LL;
const int mod = 1e9+7;
const int N = 2e5+10;using namespace std;LL get0(int n){LL ans = (n+1)*n/2 ;return ans ;
}
LL get1(int n){int x = n / 10 ;int y = n % 10 ;LL t = x * (x-1) / 2 * 10 + 45 * x + get0(y) + (y+1) * x;return t ;
}LL get2(int n){int x = n / 100 ;int y = n % 100 ;LL t = get1(y) + x * (x-1) / 2 * 100 + x * get1(99) + (y+1) * x;return t ;
}
LL get3(int n){int x = n / 1000 ;int y = n % 1000 ;LL t = get2(y) + x * (x-1) / 2 * 1000 + x * get2(999) + (y+1) * x;return t ;
}
LL get4(int n){int x = n / 10000 ;int y = n % 10000 ;LL t = get3(y) + x * (x-1) / 2 * 10000 + x * get3(9999) + (y+1) * x;return t ;
}inline void solve(){int n ; cin >> n ;if(n<10) {cout << (n+1)*n/2 << endl;return ;}if(n>=10 && n<100){int x = n / 10 ;int y = n % 10 ;LL t = x * (x-1) / 2 * 10 + 45 * x + get0(y) + (y+1) * x;cout << t << endl;return ;}if(n>=100 && n<1000){int x = n / 100 ;int y = n % 100 ;LL t = get1(y) + x * (x-1) / 2 * 100 + x * get1(99) + (y+1) * x;cout << t << endl;return ;}if(n>=1000 && n<10000){int x = n / 1000 ;int y = n % 1000 ;LL t = get2(y) + x * (x-1) / 2 * 1000 + x * get2(999) + (y+1) * x;cout << t << endl;return ;}if(n>=10000 && n<100000){int x = n / 10000 ;int y = n % 10000 ;LL t = get3(y) + x * (x-1) / 2 * 10000 + x * get3(9999) + (y+1) * x;cout << t << endl;return ;}if(n>=100000 && n<1000000){int x = n / 100000 ;int y = n % 100000 ;LL t = get4(y) + x * (x-1) / 2 * 100000 + x * get4(99999) + (y+1) * x;cout << t << endl;return ;}
}signed main()
{IOSint _ = 1;cin >> _;while(_ --) solve();return 0;
}

D

哈希表 + 位运算

对于每个数来说,能与它一组的有且仅有二进制在低31位上的31位都完全相反这一个数,那么可以得到一个组最多两个数字,对于x,那么能够与它配对的数字也就是 : ((1<<31)-1) ^ x ,其中((1<<31)-1)代表2^31-1,其二进制的低31位全是一;

通过上面就可以一遍遍历,用map记录之前出现过的数,遇到能匹配的,就删掉一个 ;

int yy = (1<<31) - 1 ;
/ 一对中的所有位都不同的条件等价于当我们对 2个数进行异或时,该对产生的数的所有位都设置为 1
inline void solve2(){int n ; cin >> n ;map<int,int> mp ;int ans = 0 ;for(int i=1;i<=n;i++){int x ; cin >> x ;if(!mp[x]) ++ans,++mp[yy^x];else --mp[x] ;}cout << ans << endl ;
}

哈希表 + 字符串

如果不精通位运算,就可以直接采取hash表存字符串的方式;

这里采用set + map进行模拟 ;

LL a[N] ;string get(string s){string str = "" ;for(char c : s) str += c == '1' ? '0' : '1' ;return str;
}inline void solve(){int n ; cin >> n ;for(int i=1;i<=n;i++) cin >> a[i] ;set<string> st ;map<string,int> mp ;int x = 0 ;for(int i=1;i<=n;i++){string s = bitset<32>(a[i]).to_string();s = s.substr(1);string str = get(s) ;if(st.count(str)){x++;if(mp[str]>1){mp[str]--;}else{st.erase(str);mp[str]--;}}else{st.insert(s) ;mp[s]++;	}  }cout << n - x << endl ;
}

E

思维题

对于第一轮,就已经把全部的奇数放完了,那么之后的就全部都是偶数 ;

永远不会在非2的幂的棋步上放下棋 ,因为非2的幂的步上,一定包含一个奇数因子,会在第一轮就被放下 ;

加入上一步还剩n个棋子,那么下一步一定会下其中的一半棋子,然后模拟就好了 ;

#include<bits/stdc++.h>
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define endl '\n'
#define lowbit(x) (x&(-x))
#define sz(a) (int)a.size()
#define pb push_back
#define all(a) a.begin(), a.end()
#define int long long
typedef long long LL;
const int mod = 1e9+7;
const int N = 2e5+10;using namespace std;// 第一轮 把奇数放完了,后面一定全是偶数
// 永远不会在非2的幂的棋步上放下棋 ,因为非2的幂的步上,一定包含一个奇数因子,会在第一轮就被放下 ;void solve() {int n, k;cin >> n >> k;vector<int> v;while (n) {v.push_back((n + 1) / 2); //每次放奇数个 n /= 2;}int tot = 0, pow2 = 1;for (int x : v) {if (tot < k && k <= tot + x) {cout << pow2 * (2 * (k - tot) - 1) << '\n';return;}tot += x;pow2 *= 2;}
}signed main()
{IOSint _ = 1;cin >> _;while(_ --) solve();return 0;
}

相关文章:

Codeforces Round 928 (Div. 4) (A-E)

比赛地址 : https://codeforces.com/contest/1926 A 遍历每一个字符串&#xff0c;比较1和0的数量即可&#xff0c;那个大输出那个; #include<bits/stdc.h> #define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define endl \n #define lowbit(x) (x&am…...

git远程操控gitee

配置SSH公钥 首先&#xff0c;在本地计算机上生成SSH公钥。打开终端或命令提示符窗口&#xff0c;并执行以下命令&#xff1a; ssh-keygen -t rsa -b 4096 -C "your_emailexample.com"按照提示操作&#xff0c;生成SSH密钥对。默认情况下&#xff0c;公钥将保存在~…...

常见面试题:TCP的四次挥手和TCP的滑动窗口

说一说 TCP 的四次挥手。 挥手即终止 TCP 连接&#xff0c;所谓的四次挥手就是指断开一个 TCP 连接时。需要客户端和服务端总共发出四个包&#xff0c;已确认连接的断开在 socket 编程中&#xff0c;这一过程由客户端或服务端任意一方执行 close 来触发。这里我们假设由客户端…...

力扣随笔之两数之和 Ⅱ -输入有序数组(中等167)

思路&#xff1a;在递增数组中找出满足相加之和等于目标数 定义左右两个指针&#xff08;下标&#xff09;从数组两边开始遍历&#xff0c;若左右指针所指数字之和大于目标数&#xff0c;则将右指针自减&#xff0c;若左右指针所指数字之和小于目标数&#xff0c;则左指针自加&…...

最优传输(Optimal Transport)

最优传输&#xff08;Optimal Transport&#xff09;是一种数学理论和计算方法&#xff0c;用于描述两个概率分布之间的距离或者对应关系。它的核心概念是如何以最佳方式将一组资源&#xff08;如质量、能量等&#xff09;从一个位置传输到另一个位置。 基本概念&#xff1a; …...

MIT-6.824-Lab2,Raft部分笔记|Use Go

文章目录 前记Paper6&#xff1a;RaftLEC5、6&#xff1a;RaftLAB22AtaskHintlockingstructureguide设计与编码 2BtaskHint设计与编码 2CtaskHint question后记 LEC5&#xff1a;GO, Threads, and Raftgo threads技巧raft实验易错点debug技巧 前记 趁着研一考完期末有点点空余…...

使用openeuler 22.03替代CentOS 7.9,建立虚拟机详细步骤

进入浏览器搜索网址下载openeuler 22.03镜像文件 https://mirrors.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP3/ISO/x86_64/openEuler-22.03-LTS-SP3-x86_64-dvd.iso 打开VMware Workstation新建一个虚拟机&#xff1a; 自定义虚拟机位置 加入下载好的openeuler镜像文件…...

代理技术引领出海征程

在数字娱乐的繁荣时代&#xff0c;游戏开发者和发行商们意识到&#xff0c;要在全球市场立足&#xff0c;必须迈向国际化的出海之路。然而&#xff0c;这一旅程面临着跨越网络壁垒、适应多元文化和提升全球连接性的巨大挑战。本文将深入探讨代理技术在游戏行业出海过程中的创新…...

谷粒商城篇章9 ---- P248-P261/P292-P294 ---- 消息队列【分布式高级篇六】

目录 1 消息队列(Message Queue)简介 1.1 概述 1.2 消息服务中两个重要概念 1.3 消息队列主要有两种形式的目的地 1.4 JMS和AMQP对比 1.5 应用场景 1.6 Spring支持 1.7 SpringBoot自动配置 1.7 市面上的MQ产品 2 RabbitMQ 2.1 RabbitMQ简介 2.1.1 RabbitMQ简介 2…...

【Spring连载】使用Spring Data访问 MongoDB(五)----生命周期事件

【Spring连载】使用Spring Data访问 MongoDB&#xff08;五&#xff09;----生命周期事件Lifecycle Events 一、实体回调Entity Callbacks1.1 实现实体回调1.2 注册实体回调 二、特定存储的实体回调 一、实体回调Entity Callbacks 1.1 实现实体回调 1.2 注册实体回调 二、特…...

JavaSec 之 SQL 注入简单了解

文章目录 JDBC 注入语句拼接(Statement)修复方案 语句拼接(PrepareStatement)修复方案 预编译 JdbcTemplate修复方案 MyBatisLike 注入Order By 注入In 注入 寒假学了一个月 pwn&#xff0c;真心感觉这玩意太底层学的我生理不适应了&#xff0c;接下来学一段时间 java 安全缓一…...

第十一章——期约与异步函数

ECMAScript 6及之后的几个版本逐步加大了对异步编程机制的支持&#xff0c;提供了令人眼前一亮的新特性。ECMAScript 6新增了正式的Promise&#xff08;期约&#xff09;引用类型&#xff0c;支持优雅地定义和组织异步逻辑。接下来几个版本增加了使用async和await关键字定义异步…...

工具方法合集-utils.js

通用 import get from lodash.get import cloneDeep from lodash.clonedeep // 深度clone export function deepClone(obj) {return obj ? cloneDeep(obj) : obj } export function lodashGet(obj, key, defaultValue = ) {//这个 defaultValue 不能给默认 值 会报错;retur…...

安卓11-设置HDMI分辨率流程

安卓11中从设置-显示设置hdmi分辨率流程:framework层通过jni控制底层驱动实现&#xff0c;标准驱动模型 packages\apps\Settings\src\com\android\settings\display\HdmiSettings.javaprivate void updateResolution(final ITEM_CONTROL control, final int index) {showWaitin…...

Vue3+vite搭建基础架构(11)--- 菜单栏功能和Tab页功能实现

Vue3vite搭建基础架构&#xff08;11&#xff09;--- 菜单栏功能和Tab页功能实现 说明删除项目中不需要的文件userStore全局属性代码菜单栏代码Tab页代码解决浏览器输入地址时不会打开tab页问题和切换tab页时参数丢失问题 说明 这里记录下自己在Vue3vite的项目实现菜单栏功能和…...

餐饮神秘顾客公司:关于餐饮行业神秘顾客调查注意事项

在餐饮业&#xff0c;顾客体验往往决定品牌的成败。为深入了解顾客需求和感受&#xff0c;许多餐饮企业引入“神秘顾客”调查。然而&#xff0c;此调查并非简单走过场&#xff0c;其中细节和注意事项颇多。餐饮行业神秘顾客调查需注意以下几点&#xff1a; 1. 专业培训&#x…...

概率密度函数(PDF)与神经网络中的激活函数

原创:项道德(daode3056,daode1212) 在量子力学中&#xff0c;许多现象都是统计的结果&#xff0c;基本上用的是正态分布&#xff0c;然而&#xff0c;从本质上思考&#xff0c;应该还存在低阶的分布&#xff0c;标准的正态分布是它的极限&#xff0c;这样一来&#xff0c;或许在…...

.netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项

1、SqlSugarCore 相关 1.1 主项目添加数据&#xff0c;否则会报数据库连接错误&#xff1a; <InvariantGlobalization>false</InvariantGlobalization> <PropertyGroup><TargetFramework>net8.0</TargetFramework><Nullable>enable</…...

算法打卡day2|数组篇|Leetcode 977.有序数组的平方、 209.长度最小的子数组、59.螺旋矩阵II

算法题 Leetcode 977.有序数组的平方 题目链接: 977.有序数组的平方 大佬视频讲解&#xff1a;977.有序数组的平方 个人思路 第一时间就只想到暴力解法&#xff0c;双重循环一个循环比较一个循环赋值&#xff1b;但这样可能会超时&#xff0c;所以还能用双指针&#xff0…...

Hive【内部表、外部表、临时表、分区表、分桶表】【总结】

目录 Hive的物种表结构特性 一、内部表 建表 使用场景 二、外部表 建表:关键词【EXTERNAL】 场景&#xff1a; 外部表与内部表可互相转换 三、临时表 建表 临时表横向对比​编辑 四、分区表 建表&#xff1a;关键字【PARTITIONED BY】 场景&#xff1a; 五、分桶表 …...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成&#xff1a;MAC头部frame bodyFCS&#xff0c;其中MAC是固定格式的&#xff0c;frame body是可变长度。 MAC头部有frame control&#xff0c;duration&#xff0c;address1&#xff0c;address2&#xff0c;addre…...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中&#xff0c;元素的定位通过 position 属性控制&#xff0c;共有 5 种定位模式&#xff1a;static&#xff08;静态定位&#xff09;、relative&#xff08;相对定位&#xff09;、absolute&#xff08;绝对定位&#xff09;、fixed&#xff08;固定定位&#xff09;和…...

如何在网页里填写 PDF 表格?

有时候&#xff0c;你可能希望用户能在你的网站上填写 PDF 表单。然而&#xff0c;这件事并不简单&#xff0c;因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件&#xff0c;但原生并不支持编辑或填写它们。更糟的是&#xff0c;如果你想收集表单数据&#xff…...

算法笔记2

1.字符串拼接最好用StringBuilder&#xff0c;不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...

深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用

文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么&#xff1f;1.1.2 感知机的工作原理 1.2 感知机的简单应用&#xff1a;基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...

scikit-learn机器学习

# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...

免费数学几何作图web平台

光锐软件免费数学工具&#xff0c;maths,数学制图&#xff0c;数学作图&#xff0c;几何作图&#xff0c;几何&#xff0c;AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...

怎么让Comfyui导出的图像不包含工作流信息,

为了数据安全&#xff0c;让Comfyui导出的图像不包含工作流信息&#xff0c;导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo&#xff08;推荐&#xff09;​​ 在 save_images 方法中&#xff0c;​​删除或注释掉所有与 metadata …...

QT开发技术【ffmpeg + QAudioOutput】音乐播放器

一、 介绍 使用ffmpeg 4.2.2 在数字化浪潮席卷全球的当下&#xff0c;音视频内容犹如璀璨繁星&#xff0c;点亮了人们的生活与工作。从短视频平台上令人捧腹的搞笑视频&#xff0c;到在线课堂中知识渊博的专家授课&#xff0c;再到影视平台上扣人心弦的高清大片&#xff0c;音…...

用 Rust 重写 Linux 内核模块实战:迈向安全内核的新篇章

用 Rust 重写 Linux 内核模块实战&#xff1a;迈向安全内核的新篇章 ​​摘要&#xff1a;​​ 操作系统内核的安全性、稳定性至关重要。传统 Linux 内核模块开发长期依赖于 C 语言&#xff0c;受限于 C 语言本身的内存安全和并发安全问题&#xff0c;开发复杂模块极易引入难以…...