avatar
Articles
51
Tags
21
Categories
7
首页
时间线
Logo
Search
首页
时间线

Little_sk

牛客周赛 35
Created2024-03-03|题解|题解•C++
[题目链接-牛客周赛 Round 35](https://ac.nowcoder.com/acm/contest/76133#question) A - 小红的字符串切割题意给出一个长度为偶数的字符串,分别输出前一半和后一半 思路&代码按题意输出即可 12345678910111213141516171819202122#include<bits/stdc++.h>using namespace std;#define IO ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);#define int long long#define rep(i,l,r) for(int i = l;i<=r;i++)#define per(i,r,l) for(int i = r;i>=l;i--)const int INF = 0x3f3f3f3f3f3f3f3f;typedef pair<int,int> PII;void solve(){ string str; ...
Codeforces Round 931 (Div. 2)
Created2024-03-02|题解|题解•C++
[题目链接 - Codeforces Round 931 (Div. 2)](https://codeforces.com/contest/1934) A. Too Min Too Max题意给出一个数组, 现在要你选择四个下标i,j,k,l , 问|a_i - a_j|+|a_j - a_k|+|a_k - a_l|+|a_l - a_i| 最大是多少。(i , j,k,l 必须互不相同) 思路题目要求的其实就是选出四个数组成一个环,使得相邻两个数的差的和最大。 于是我们先探究 : 如果选出了某四个数,如何调整他们在环中的顺序能使得总和最大。 不难想到, 将较大的两个数放在第一和第三位, 较小的两个数放在第二和第四位时, 得到的结果最大。 此时为(a_i - a_j) +( a_k - a_j )+ (a_k - a_l)+(a_i - a_l) ,即2*(a_i + a_k - a_j -a_l) 第二步我们考虑如何选择这四个数能使得结果最大。 很明显我们需要尽可能让 较大的两个数a_i,a_k...
Codeforces Round 929 (Div. 3)
Created2024-02-29|题解|题解•C++
[题目链接](https://codeforces.com/contest/1933) A. Turtle Puzzle: Rearrange and Negate题意有一个长度为n的数组a,进行两步操作,第一步重新排列数组内元素的顺序, 第二部选择一个连续区间,将其中的元素取反。问进行完这两步操作后,**数组元素的值的总和** 最大是多少。 思路 很显然,把所有的负数放到一起,然后把这段区间取反即可。答案就是所有数的绝对值的和。 代码1234567891011121314151617181920212223242526#include<bits/stdc++.h>using namespace std;#define IO ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);#define int long long#define rep(i,l,r) for(int i = l;i<=r;i++)#define per(i,r,l) for(int i = r;i>=l;i--)const int...
Educational Codeforces Round 157
Created2024-01-16|题解|题解•C++
[Educational Codeforces Round 161 (Rated for Div. 2)](https://codeforces.com/contest/1922) C. Closest Cities题意有n个城市, 他们分别在坐标轴上的点a_1,a_2...,a_n ,我们定义从城市i到城市j之间的花费的金币为: 如果 j是i的最近城市,那么花费1个金币 否则花费 |a_j - a_i| 个金币 现在给出一些询问,需要你回答从x_i号城市到 y_i号城市之间的花费的最少金币 思路首先我们知道:一个城市的最近城市 一定是和他相邻的两个城市中的一个。 因此我们根据贪心思想可以知道, 如果我们要从第i个城市到第j个城市, 那么我们将中间的城市全部依次经过一遍是最优的(因为经过的话就有可能只花费1金币) 于是本题就转换为了区间和的问题,可以用前缀和来解决: 当x...
蓝桥杯python语法速通
Created2023-12-09|讲座|python•蓝桥杯•讲座
Python 语法**python代码有严格的缩进限制,不同的缩进代表了不同的含义,请不要随意缩进!!!** 变量类型python**不需要** 预先声明变量,并且没有显式的类型声明,python 代码最后**不需要加分号** 12345a = b = c = 1 # 把 a , b , c 都赋值为1d,e,f = 777 , 3.14159 , "eeee" # 把d赋值为777, e赋值为小数3.14159 , f赋值为字符串“eee" 数字 ​ 数字类型的变量理论上可以存储无限大的数,但是会受限于计算机的运算速度。 str(字符串类型) ​ 不论双引号"ABC",还是单引号 ‘ABC’ ,代表的都是字符串(即使是'a' ,也是长度为一的字符串,而不是字符) 列表(list) ​ 列表使用**中括号**表示。 ​ 类似于C中的数组,能够存储一些数据,支持按下标找值。列表中可以存放任何类型,并且**单个列表可以存放多种类型** 12345678a =...
2023ICPC网络赛第二场
Created2023-11-12|题解|题解•C++
[The 2023 ICPC Asia Regionals Online Contest (2) (pintia.cn)](https://pintia.cn/market/item/1705511462254264320) **K Super-knight**题意有一个士兵,起初在n*n的棋盘的左下角,每次向右移动a格,向上移动b格,当越过地图边界时,则到地图的另一边(类似于没有边界墙的贪吃蛇),对这个士兵能到达的格子做标记,所有被标记的格子中,离左下角格子最近的距离是多少。(假设最近的格子为undefinedx, y),就输出(x - 1)^2+(y - 1)^2$ ) ( 2 \le n \le 10^{18}, 1 \le a,b \le 200) 思路可以得出,在经过n次移动后,一定回回到起始点,所以最终的路径一定是循环的。 但n太大,无法通过这样判断所有的被标记的点。 可以发现,在移动了若干次后,除非穿过地图边界,否则只会增加 与原点的距离。因此我们只需要考虑**刚穿过地图边界的点**...
Educational Codeforces Round 157 (Rated for Div. 2)
Created2023-11-06|题解|题解•C++
[Dashboard - Educational Codeforces Round 157 (Rated for Div. 2) - Codeforces](https://codeforces.com/contest/1895) C. Smilo and...
Codeforces Round 906 (Div. 2)
Created2023-10-30|题解|题解•C++
[Dashboard - Codeforces Round 906 (Div. 2) - Codeforces](https://codeforces.com/contest/1890) C. Qingshan Loves Strings 2题意给出一个n长的01串(1 \le n \le 100),每次操作向串中插入一个”01“(最多可以插入300次),问如何插入能够使得最终的串满足:对于任何0\le i < len 都有str[i] \not= str[len-1-i] 。 如果有合理的方案,则输出方案,否则输出-1。 思路首先考虑特判,每次插入”01“ 不会改变0和1的数量关系, 而最终的串要求0和1的数量一样多。所以最初的0和1的数量也需要一样多。 然后考虑如下插入策略:由两边向中间靠拢,逐个检查每个字符。为了方便起见,我们使用l和r来代表待检查的左右字符的下标, 如果str[l] \not= str[r] 则令 l++,r—, 如果str[l] = str[r] ,则代表我们需要插入”01“串来干预。如果str[l] = str[r] = '0'...
2023年10月ZZUACM实验室招新赛题解
Created2023-10-29|题解|题解•C++
注意事项请注意!: 题解仅代表个人看法,不代表最优解 每道题都会附上ac代码,但是仅作参考,要看懂后再了解代码。补题不要直接抄代码!禁止自欺欺人! 只提供题解,不提供题目信息 ac代码为C++版本,如果遇到不懂的语法请自行百度 ac代码中的循环经常用到了for(int i = 1;i<=n;i++) ,这种在for的括号中int i的操作只有大于等于C++11标准才可以使用,编译错误时请检查自己编译使用的标准。 A.数位分解对于一个数x, 使用 x % 10 (% 是取余数) ,就可以得到他的最后一位 使用 x /= 10 (除以十并取整数),就可以舍掉他的最后一位 使用while(x) 来进行循环 1234567891011#include<iostream>using namespace std;int main(){ int x; cin>>x; while(x){ cout<< x % 10 <<" "; x = x / 10; } return...
Codeforces Round 904 (Div. 2)
Created2023-10-27|题解|题解•C++
[Dashboard - Codeforces Round 904 (Div. 2) - Codeforces](https://codeforces.com/contest/1884) C. Medium Design题意给长度为m的数组a,初始均为0。1\le m \le 10^9 给出一些区间,请你选出其中某些区间。每选择一个区间,就令区间中的数都加一,问 数组中最大值max(a) ,和最小值min(a) 的差,最大为多少。 思路考虑以下贪心策略:如果我们确定了最终第i个数是最大的那个数,即a[i] = max(a) , 那么我们就可以选择所有的包含i的区间。然后摒弃所有不包含i的区间。(选上包含i的区间一定会令max(a)++) , 这样我们可以遍历所有的数组下标i。 计算假使i为最大数时的ans,最终选择最大的ans即可。 我们可以先对区间进行排序。 然后根据右端点从小到大维护优先队列pq。这样按顺序遍历区间数组,就可以引入所有左端点小于等于i的区间。然后通过剔除优先队列中的右端点小于i的区间。 这样优先队列中就保存了所有的包含i的区间。 因此有 max(a) =...
1…3456
avatar
Little_sk
Articles
51
Tags
21
Categories
7
Follow Me
Announcement
加我友链!
Recent Posts
期末回顾2025-06-06
强化学习数学原理笔记2025-04-16
2025蓝桥杯PythonA组省赛题解2025-04-12
电子扫盲2025-03-09
十六届蓝桥杯模拟赛3题解2025-02-12
Categories
  • 学习1
  • 强化学习1
  • 搭建环境1
  • 数据结构3
  • 笔记5
  • 讲座2
  • 题解38
Tags
电子扫盲 mysql 数学 markdown DP 分治 期末 题解 模板 蓝桥杯 强化学习 学习 郑州大学 python qqbot 笔记 Python 数据结构 C++ 深度学习 讲座
Archives
  • June 2025 1
  • April 2025 2
  • March 2025 1
  • February 2025 1
  • December 2024 1
  • November 2024 1
  • October 2024 1
  • September 2024 2
Website Info
Article Count :
51
Runtime :
Total Word Count :
110.9k
Last Update :
Framework Hexo 7.3.0|Theme Butterfly 5.3.5
萌ICP备20250258号
Search
Loading Database