avatar
文章
35
标签
20
分类
7

首页
归档
标签
分类
传送门
z01prime
搜索
首页
归档
标签
分类
传送门

z01prime

2024SCCPC
发表于2024-07-24|更新于2024-07-24|XCPC省赛/邀请赛
题面: 有点可惜要是先看的A题说不定就过金牌线了。 L Beef Tripe in Soup Pot?阅读理解题,我和另一个队友当时没看到有中文题面看了半天,就是在说有n种物品,每个有四个信息,第一个和第二个信息表示第一和第二个种类对应的值表示代价,第三个和第四个是这种物品的是属于第一种类还是第二种类。问你个每个物品划分完之后的最小代价。就是排序。 123456789101112131415161718192021void solve() { int n; vector<int> a,p1,p2; cin>>n; for(int i = 0,x,y,u,v;i<n;++i){ cin>>x>>y>>u>>v; if(u && v){ if(x > y) a.push_back(y),p2.push_back(i); else a.push_back(x),p1.push_back(i); }else& ...
文件管理系统的搭建
发表于2024-07-18|更新于2024-07-18|项目
先搓了个本地的,等什么时候买了服务器弄个云端的玩玩。用的是free-fs。装完mysql和navicat之后,配置好环境等,打开服务器,然后把它连到navicat(新建连接,选MySQL,起个名称,以下以名称local为例,主机选本地即localhost,端口用默认的3306,用户名和密码自定义,以下以root和123456为例)。 然后右键local连接,选择新建数据库,将数据库名称改为free-fs,字符集选择utf8mb4,排序规则选utf8mb4_general_ci。最后在这个数据库上新建一个查询,打开用IDEA打开项目,找到sql文件,里面有一个free-fs.sql脚本。复制这个文件的内容到这个查询,选择运行。这样就创建好了数据库。然后是配置文件的修改部分:先找到配置文件,在fs-admin里面,具体位置是../src/main/resources/application.yml,可以配置端口啥的。必须要改的地方就一两处:1.spring里的部分,profiles里的active改成dev,表示用的是dev这个配置。 1234......profiles: active ...
18thZJCPC
发表于2024-04-06|更新于2024-07-01|XCPC省赛/邀请赛
A - League of Legends格莱美喜欢玩世界著名的英雄联盟游戏。在最新版本中,有一个特殊的规则供玩家选择玩。根据此规则, 10 玩家将被分为红队和蓝队。每支队伍由 5 名玩家组成,每个玩家都有一个初始生命值。如果一支队伍中的所有 5 玩家均没有正HP值,则该队伍将输掉这场比赛。每回合,队伍可以选择一名球员并减少他的生命值 1。蓝队首先开始。现在格莱美想知道两支球队是否都按照最优策略比赛,哪支球队会赢得比赛。枚举,比大小,平局蓝队赢 C - Cube给你三维空间中的八个点,请检查它们是否可以组成一个立方体。立方体是正六面体,由六个正方形面包围,每个顶点有三个相交点。T≤100组数据。两两枚举点对之间的距离,根据对角线,体对角线,面对角线,棱的长度和数量关系判断。 123456789101112131415161718192021222324252627282930313233343536373839404142#include <bits/stdc++.h>using namespace std;int t,x[8],y[8],z[8];int main()&# ...
17thZJCPC
发表于2024-04-06|更新于2024-07-01|XCPC省赛/邀请赛
题面: K - Killing the Brute-force 给定标程和暴力在 n = 1, 2, . . . , m 时的运行时间,找到最小 的 n 使得三倍标程时限可以卡掉暴力 。m很小没什么好讲的就一个遍历找到最小的即可 1234567891011void solve(){ int m; cin>>m; vector<int> a(m),b(m); for(int i = 0;i<m;++i) cin>>a[i]; for(int i = 0;i<m;++i) cin>>b[i]; for(int i = 0;i<m;++i) if(a[i]*3<b[i]) return cout<<i + 1<<endl,void(); cout<<-1<<endl;} A - AD 2020 给一个日期的区间,问有多少个日期含有子串“202”的。2000.01.01 ≤ 日期 ≤ 9999.12.31参考题解给的是直接 ...
2024年度第五届全国大学生算法设计与编程挑战赛(春季赛)
发表于2024-03-31|更新于2024-03-31|小比赛
H 密码是多少?注意字符串长度都是7样例1 1asdfghj 110210310410697115100 样例2 1qazxcdf 11209910010211397122 按题意模拟即可 1234567void solve() { string s; cin>>s; string t = s.substr(3) + s.substr(0,3); for(auto c : t) cout<<(int)c;} A 送个分吧样例 12aba4 1b 对于给定的样例,前 4 简单的套题分别为:a、ab、aba、b,故答案为 b。对于 100%的数据,1≤∣_s_∣≤5000,1≤_k_≤5,保证答案存在。 就是在问你字典序第k小的子串s的范围决定了这道题最多只能是$O(n^2)$的复杂度。可以这样考虑,比如对于样例而言,前几个子串一定是a开头的,可以是a,ab,aba。那么猜想前面几个一定是字符串中出现的字典序最小的那个字符的某个后缀,比如最小的是a,第二小的是ab(第一个a后面长度为2的后缀),第三小的是aba(第一个a后面长度为3的后缀)。且 ...
2023JSCPC
发表于2024-03-26|更新于2024-07-01|XCPC省赛/邀请赛
这个也是当年的湖南全国邀请赛 I Elevator 电梯里有 n 个人(你是其中一个),这些人想去 m 个楼层, 每个人只想去一个楼层。到达一个楼层,所有想去这个楼层 的人都会下电梯。问在你想去的楼层最多有多少人下电梯。 vp的时候题目根本没读懂,感觉就是输出 n − (m − 1) , 交了一发就过了…… J Similarity (Easy Version) 给定 n 个串,求两两之间最长公共子串的最大值。多测T不超过15,字符串长度不超过50,个数也不超过50。并保证n的总和不会超过300。直接暴力匹配即可。 12345678910111213141516171819202122232425262728map<string,int>f;void solve(){ int n; cin>>n; per(i,1,n){ string s; cin>>s; map<string,bool>vis; per(j,0,s.length()-1) ...
2022SHCPC
发表于2024-03-26|更新于2024-07-01|XCPC省赛/邀请赛
N Nine Is Greater Than Ten按字典序比较字符串 12345678910void solve(){ string a,b; cin>>a>>b; int res = a.compare(b); if(res == 0){ cout<<a<<'='<<b<<endl; }else if(res < 0){ cout<<a<<'<'<<b<<endl; }else cout<<a<<'>'<<b<<endl;} G Gua!题意:给你四个参数B R D S,表示枪的一发子弹造成的最大伤害,射速为每分钟射击R次,玩家一共造成了D点伤害,用时S秒,问你这个人是不是挂。不是很懂为什么签到题出这么细节的模拟……vp爆wa心态都炸了三个细节,第一个是由于时间是从0开始算的, ...
整除分块
发表于2024-03-16|更新于2024-03-16|一些小算法和算法思想
好像只能用来解决一个类似于$\sum^n_{i = 1}\left \lfloor \frac{n}{i} \right \rfloor$这样的整数求和问题,只要是带这个的,那么复杂度最低就能降到根号级别的。可以发现,比如n = 8这个求和的每一项是这样的 i 1 2 3 4 5 6 7 8 8/i 8 4 2 2 1 1 1 1 那么就可以优化,把结果一样的放在一起分块处理。分的块大概有$2\sqrt{n}$个,因为当i小于等于$\sqrt{n}$时,取值一共有$\sqrt{n}$种,大于也是一样的 12345for (int l = 1; l <= n; ++l) { int d = n / l, r = n/d; ans += (r-l+1)*d; l = r;} l和r表示这个区间内的数x除n都是d,即n/x = d,累加即可,复杂度是根号的。 [CQOI2007] 余数求和给出正整数 $n$ 和 $k$,请计算$G(n, k) = \sum_{i = 1}^n k \bmod i$其中 $k\bmod i$ 表示 $k$ ...
13thSDCPC
发表于2024-03-16|更新于2024-07-01|XCPC省赛/邀请赛
vp打到后面打不动了,好在压线银牌。 [SDCPC2023] Matching给定长度为 $n$ 的整数序列 $a_1, a_2, \cdots, a_n$,我们将从该序列中构造出一张无向图 $G$。具体来说,对于所有 $1 \le i < j \le n$,若 $i - j = a_i - a_j$,则 $G$ 中将存在一条连接节点 $i$ 与 $j$ 的无向边,其边权为 $(a_i + a_j)$。求 $G$ 的一个匹配,使得该匹配中所有边的边权之和最大,并输出最大边权之和。请回忆:无向图的匹配,指的是从该无向图中选出一些边,使得任意两条边都没有公共的节点。特别地,不选任何边也是一个匹配。 考了个常见的转化:$i - j = a_i - a_j$改为$i - a_i = j - a_j$然后把权值一样的放在一起就行。可以开一个map<int,vector<int>>来存储,并且注意到后面压进去的一定是a比较大的,所以从后往前遍历如果两两配对就能找到最大的。 123456789101112131415void solve() { int n; ...
【LGR-174-Div.2】T2、T3
发表于2024-03-04|更新于2024-03-04|小比赛
T2 陌路寻诗礼题目描述帆巨所在的家乡的地图是一张有 $n$ 个节点 $m$ 条有向道路的有向图,每个节点都是一个城市,而帆巨所在的城市是 $1$ 号城市,并且 $1$ 号城市总是可以通过若干道路到达其他任何城市。第 $i$ 条道路从 $x_i$ 号城市出发到达 $y_i$ 号城市,长度为 $z_i$。帆帆现在要从他的 $1$ 号城市前往各个城市面基。精通 spfa 算法的帆帆在面基的过程中自然会按照长度和最短的路径去其他城市。但是帆帆有选择困难症,他希望从 $1$ 号城市到达每一座城市的最短路径都是唯一的,所以他决定施加魔法,改变所有道路的长度,具体地:帆巨施加魔法后,对于每一条道路的长度,都可以 独立地 将其变成一个 $[1,k]$ 范围内的整数,其中 $k$ 是帆巨的魔法等级。但帆巨所在的世界的地图和他的魔法等级一直在变,总共会变 $T$ 次,所以他希望你对 $T$ 次询问都给出一种构造方法使得帆巨不会纠结或者报告无解。 输入格式第一行一个整数 $T$ 表示数据组数。接下来 $T$ 组,每组先是三个整数 $n,m,k$,接着 $m$ 行描述有向道路 $(x_i,y_i)$。不保证 ...
1234
avatar
z01prime
文章
35
标签
20
分类
7
我的github主页
公告
加载慢可以挂个梯子试试捏
最新文章
test2025-05-13
2021SCCPC2025-04-21
2024CCPC山东邀请赛2024-12-31
2024HNCPC2024-11-22
2024ICPC昆明邀请赛2024-10-25
分类
  • ICPC区域赛2
  • XCPC省赛/邀请赛14
  • 一些小算法和算法思想3
  • 博客开发1
  • 小比赛6
  • 算法竞赛相关5
  • 项目1
标签
01字典树山东浙江四川杂项上海江苏湖南昆明江西陕西cdpc2022传智杯南京杭州洛谷月赛整除分块文件管理系统根号分治2023算法大赛
归档
  • 五月 20251
  • 四月 20251
  • 十二月 20241
  • 十一月 20241
  • 十月 20241
  • 九月 20241
  • 七月 20243
  • 四月 20242
网站资讯
文章数目 :
35
已运行时间 :
本站访客数 :
最后更新时间 :
©2020 - 2025 By z01prime
框架 Hexo|主题 Butterfly
搜索
数据库加载中