一、题目解读 2025年GESP七级考试中的“等价消除(洛谷P11965)”问题要求统计给定字符串中满足等价条件的子串数量。所谓“等价子串”,是指子串中所有字符出现的次数均相同。题目需要高效算法解决,考验对字符串处理和状态压缩的掌握。二、解题思路采用位运算+哈希表的核心思想: 1. 将字符映射为二进制位:每
洛谷 P3401 洛谷树
洛谷传送门
题目背景
萌哒的 Created_equal 小仓鼠种了一棵洛谷树!
(题目背景是辣鸡小仓鼠乱写的QAQ)。
题目描述
输出格式
对于每个 11 操作,输出答案。
题解:
#include<cstdio>
#include<algorithm>
#define lson pos<<1
#define rson pos&
转载
2020-11-30 18:53:00
352阅读
转化题意题意要求求 \([l,r]\) 在 \(a[l]-1\) 的情况下是否能先手必胜,转化一下,其实题意也可以理解为:先手第一步一定走 \(l\)逆推博弈分类讨论,找出性质。画图逆推以下,在确定右端点下,很明显有以下性质。第一个到右端点r点的人,若右端点为奇数则胜,为偶数则败。若第一个到 \(i\) 点的人必胜,则第一个到 \([i-m,i-1]\)若设第一个
转载
2024-01-15 11:56:38
81阅读
洛谷P5661 [CSP-J2019] 公交换乘题解题目链接字面描述样例数据思路代码实现 题目链接https://www.luogu.com.cn/problem/P5661字面描述题目描述 著名旅游城市 B 市为了鼓励大家采用公共交通方式出行,推出了一种地铁换乘公交车的优惠方案:在搭乘一次地铁后可以获得一张优惠票,有效期为 45 分钟,在有效期内可以消耗这张优惠票,免费搭乘一次票价不超过地铁票
转载
2023-12-07 15:28:14
158阅读
P1465 序言页码 Preface Numbering P1465 序言页码 Preface Numbering P1465 序言页码 Preface Numbering 74通过 111提交 题目提供者该用户不存在 标签USACO 难度普及/提高- 提交 讨论 题解 最新讨论 暂时没有讨论 题目
原创
2021-12-31 14:09:04
140阅读
法一,数字太大,可能通过不了 #include <iostream>#include <algorithm>#include <cstdio>using namespace std;int a[30010]; int main(){ int i,n,m,t=0; scanf("%d%d",&n,&m
转载
2018-11-18 16:31:00
112阅读
2评论
#include<bits/stdc++.h> using namespace std; int main(){ int L,R,ans=0; cin>>L>>R; for(int i=L;i<=R;i++){ for(int j=i;j;j/=10){ if(j%10==2) ans++; } } ...
转载
2021-08-08 21:34:00
124阅读
2评论
#include<bits/stdc++.h> using namespace std; int n,L,R,b,c,all,arr[101]; int main() { cin>>n; for(int i=0; i<n; i++) { cin>>arr[i]; } cin>>L>>R; for(i ...
转载
2021-08-08 21:26:00
164阅读
2评论
1 #include<bits/stdc++.h> 2 using namespace std; 3 4 bool cmp(string a,string b){ 5 return a+b>b+a; 6 } 7 8 int main(){ 9 int a; 10 cin>>a; 11 string ...
转载
2021-09-05 09:39:00
120阅读
2评论
https://www.luogu.com.cn/problem/P4447 题意: 把每个数字尽可能分到一个组中,从这些组里面选出长度最小的分组;分组规则是连续的数字比如1234 思路: 可以先将数组排序,同时要满足数字连续,以及尽量让数组长度较大,所以可以每次选择长度最小的数组进行拼接,同时还要 ...
转载
2021-10-05 22:40:00
362阅读
2评论
Subtask 1 注意到只有四个数。 可以先通过一次操作二找出 \(3,4\) 的位置和 \(1,2\) 的位置。 然后再分别用四次操作一,让 \(3,4\) 来对 \(1,2\) 取模确定四个位置。 n=read();m1=read();m2=read();m3=read(); if(n==4) ...
转载
2021-08-21 08:39:00
145阅读
2评论
直接说解法。 首先可以发现,如果图中出现环,就会出现无数条路径,因为我们可以在环里走无数圈来增加路径数量。 所以我们可以缩点处理环,顺便处理环上点的个数。 然后对于非环上的点,可以在重建图后用拓扑排序简单 DP 来统计每个点到终点的路径总数。特别的,为了方便统计,我们可以把路径总数超出范围的点(包括 ...
转载
2021-10-29 16:01:00
204阅读
2评论
一道很有意思的题目嘞。
这道题目看起来,用搜索似乎无疑了。
原创
2022-02-11 16:39:21
106阅读
速度限制Description给定一张有向图,对于图中的每条边,给出它的长度以及经过它时的速度,当某条边给定的速度为 \(0\) 时,它的速度可以是任意一条连向这条边的起点的边的速度。求从 \(0\) 号点出发,到达 \(D\) 号所用时间最少的一条路径。Solution根据题目信息,大概可以猜想到这是求一个最短路(或者在这个题目中叫做最快路)。但是题目中只给出了路程与速度,并未给出时间,就要考虑
转载
2021-03-27 10:33:46
361阅读
2评论
#include <iostream>#include <algorithm>#include <cstdio>using namespace std;int b[1090];struct play { int right; int left; }; bool cmp(play a,play b)
转载
2018-11-19 17:12:00
94阅读
2评论
#include <iostream>#include <algorithm>#include <cstdio>using namespace std; struct race{ int first; int second;}; bool cmp(race a,race b){ return a.s
转载
2018-11-19 16:12:00
102阅读
2评论
首先要明确: 题目中「任两个居住点间有且仅有一条通路」说明给出的是一棵树,无须再自己求 MST。 \(a,b,c\) 不会重合。 显然可以发现,\(a,b\) 两点一定在树的直径的两端。为什么? 因为如果只有在这两个位置才能保证我们选择的 \(c\) 到较近位置的距离和 \(ab\) 间的距离最远。 ...
转载
2021-10-29 16:06:00
210阅读
2评论
https://www.luogu.com.cn/problem/P1717 题意: 思路1(动态规划): 考虑状态表示:dp[i][j],表示前i个中调了j小时的最大值,有两种转移方式,要么不调,要么调k分钟,所以转移方程是:dp[i][j]=max(dp[i][j],dp[i-1][j-t[i] ...
转载
2021-11-01 00:00:00
158阅读
2评论
高精度 我以为这题必有高论,怎么想也想不出来,没想到竟是如此粗鄙做法。 我们写一个高精度模拟一下,然后枚举约数看是否能约分,由于我不会高精度除法,就抄了一发 其实这种两项之比和项数有关的数列是不能推通项的,只能暴力模拟 #include<bits/stdc++.h> using namespace
转载
2017-08-11 19:46:00
130阅读
2评论
一道很有意思的题目嘞。这道题目看起来,用搜索似乎无疑了。我想了这样一个办法(看了很多博客似乎都没用这种方法),可能是觉得太麻烦了吧:1、我们先把0到9的数字排列,找出排列消耗火柴等于0的序列。这就是dfs函数的作用。2、将找出的序列传入check函数中,枚举第一个数的长度,在枚举第二个数的长度,然后检查a+b是否等于c。3、关键是,要满足非个位数不能为0,就是这个语句了。其中d[0...
原创
2021-08-26 15:24:29
324阅读