随笔分类 -  ACM

摘要:E 爬塔 方法一:二分做法 预处理每个点所能到达的最远距离,存到vector里边,然后二分处理结果 #include<bits/stdc++.h> using namespace std; const int N = 1e5 + 10; int n, q, a[N], len, maxn; vect 阅读全文
posted @ 2022-11-19 20:30 风归去 阅读(36) 评论(0) 推荐(0) 编辑
摘要:Palindrome 题意:给一个字符串,问最少加上多少个字符,可以使这个字符串成为回文串 思路一、直接dp(会爆内存) dp[i][j]表示区间[i,j]之间有最少需要加上多少个字符 状态转移方程:如果s[i] = s[j], 则dp[i][j] = dp[i + 1][j - 1]; 如果s[i 阅读全文
posted @ 2022-11-19 20:29 风归去 阅读(16) 评论(0) 推荐(0) 编辑
摘要:[神坛]pta *相邻两条边围成的三角形面积会是最小的 极角排序+叉积计算三角形面积 #include<bits/stdc++.h> #define int long long using namespace std; const int N = 2e5 + 10; int n, m; double 阅读全文
posted @ 2022-11-19 20:26 风归去 阅读(42) 评论(0) 推荐(0) 编辑
摘要:很好的一道bfs题目,到达岸边可以看成是最后一步 #include<bits/stdc++.h> using namespace std; const int N = 1e5 + 10; int n, dist[N], pre[N]; double d, dis; struct node{ doub 阅读全文
posted @ 2022-11-19 20:25 风归去 阅读(104) 评论(0) 推荐(0) 编辑
摘要:在单调递增序列a中查找>=x的数中最小的一个(即x或x的后继) while(l<r) { int mid=(l+r)/2; if(a[mid]>=x) r=mid; else l=mid+1; } return a[l]; 在单调递增序列a中查找<=x的数中最大的一个(即x或x的前驱) while( 阅读全文
posted @ 2022-11-19 20:23 风归去 阅读(20) 评论(0) 推荐(0) 编辑
摘要:1、巴什博弈 阅读全文
posted @ 2022-11-19 20:17 风归去 阅读(72) 评论(0) 推荐(0) 编辑
摘要:一、相关概念: 1、二分图 把图中的点分到两个集合中,集合内的点之间没有边相连,边存在于两个集合之间 2、匹配、最大匹配、完美匹配 匹配:设G为二分图,若在G的子图M中,任意两条边都没有公共节点,那么称M为二分图G的一组匹配。 最大匹配:一个图的所有匹配中,所含匹配边数最多的匹配 完美匹配:存在某种 阅读全文
posted @ 2022-11-19 16:29 风归去 阅读(24) 评论(0) 推荐(0) 编辑
摘要:一、基本概念 1、链式区间dp for(int len = 2; len <= n; len++){ //枚举区间长度 for(int i = 1; i + len - 1 <= n; i++){//枚举左边界 int j = i + len - 1; //有边界 for(int k = i; k 阅读全文
posted @ 2022-11-19 01:28 风归去 阅读(100) 评论(0) 推荐(0) 编辑
摘要:1、快读相关代码 inline int read() { int x=0,f=0; char ch=getchar(); while(!isdigit(ch))f|=(ch=='-'),ch=getchar(); while(isdigit(ch))x=(x<<1)+(x<<3)+(ch^48),c 阅读全文
posted @ 2022-11-17 18:25 风归去 阅读(61) 评论(0) 推荐(0) 编辑
摘要:1、基本概念 BKDRHash的基本思想就是把一个字符串当作一个k进制数来处理。 2、代码: #define int unsigned long long //这种情况是使用自然溢出 const int mod = 1e9 + 7; int prime = 19;//取一个素数 int BKDRHa 阅读全文
posted @ 2022-11-14 22:10 风归去 阅读(34) 评论(0) 推荐(0) 编辑
摘要:方法1、分治求解求最大子段和 思路: 分治法的设计思想是,将一个难以直接解决的大问题,分割成一些规模较小的相同问题。 对于一个序列来说,它的最大值有三种情况,第一种是左半部分的最大值,第二种是右半部分的最大值,第三种是左半部分右边的最大值+右半部分左边的最大值(有点类似于线段树维护最大和的问题)。 阅读全文
posted @ 2022-11-03 11:45 风归去 阅读(96) 评论(0) 推荐(0) 编辑
摘要:1、Dragon Balls 根据勾股定理把所有整数点都给求解出来,然后依次询问,注意数据范围 暴力求解,把每次可能的值都求出来,然后逐个比较。 #include<bits/stdc++.h> #define int long long int using namespace std; int x, 阅读全文
posted @ 2022-09-12 15:15 风归去 阅读(253) 评论(0) 推荐(0) 编辑
摘要:一、前置知识 1、连通、极大联通子图 连通:图中任意两点皆可互达 极大连通子图: 对连通图来说:是这个连通图本身 对非连通图来说: 有多个极大联通子图 2、回路、简单回路、简单路径 回路:从一个点到经过一些其他节点,再回到该点的一个路径。此时,除了起点和终点,其他节点也是可以重复出现的。 eg:A 阅读全文
posted @ 2022-09-06 19:39 风归去 阅读(553) 评论(0) 推荐(0) 编辑
摘要:1、B. Paranoid String 题意:操作一:01可以变成1,操作二:10可以变成0。给定一个串,判断字串经过若干次操作,能否长度变成1,统计数量。 思路:对01来说,1可以吃掉0,然后前边不是0的,又可以通过10变成0。所以,能否变成一,取决于最后两个字符是否相同。 2、C. Zero 阅读全文
posted @ 2022-09-06 19:37 风归去 阅读(174) 评论(0) 推荐(0) 编辑
摘要:1、给定两个质数,m, n, 大于n * m - n - m的数都可以被整数个n和m唯一组成。 相关习题:[Coins] (https://ac.nowcoder.com/acm/contest/34980/K) 总结:这个题很明显打表找规律,不知道定理也没关系。可以猜。猜两个质数是不是就可以组成一 阅读全文
posted @ 2022-09-06 13:05 风归去 阅读(38) 评论(0) 推荐(0) 编辑
摘要:Birthday Cake 思路:找到每个串的公共前后缀,统计公共前后缀之间的字符串的hash值,并判断所给n个串中是否存在符合条件的串 eg:abbddab 对于该串,我们不难发现,公共前后缀是ab,公共前后缀之间的串是bdd,我们需要统计所有串中bdd出现的次数 注意,求得不是最长公共前后缀,而 阅读全文
posted @ 2022-09-06 13:03 风归去 阅读(57) 评论(0) 推荐(0) 编辑
摘要:一、vector的用法 vector<int> vet; 1、排序:sort(vet.begin(), vet.end()), 时间复杂度O(nlogn) 2、查找:if(find(vet.begin(), vet.end(), x) != vet.end()), 时间复杂度O(n) 二、strin 阅读全文
posted @ 2022-09-06 12:54 风归去 阅读(42) 评论(0) 推荐(0) 编辑
摘要:1、关于pair 方法一:重载 方法二:直接用 typedef pair<int, int> pii; queue< pii, vector<pii>, greater<pii> > q; struct cmp { bool operator()(const P p1, const P p2) { 阅读全文
posted @ 2021-11-14 21:17 风归去 阅读(30) 评论(0) 推荐(0) 编辑
摘要:1、题目链接:Problem - A - Codeforces 题意:桥两边有2 * n个不能独立过桥的老人,老人想到对面休息 re 分钟后返回原位置,每次过桥需要花费 cr 分钟,问最少需要多长时间,可以帮助所有老人过桥。 思路:首先,是把所有老人从一边先都扶到另一边, 需要时间 2 * cr * 阅读全文
posted @ 2021-11-06 11:58 风归去 阅读(35) 评论(0) 推荐(0) 编辑
摘要:1、SDUT 2021 Summer Individual Contest - 12 - Virtual Judge (vjudge.net) 这个题,因为数据范围很小,所以可以直接暴力求解。 每次把每个指令都改一改,然后去遍历一下。改指令的时候,三个指令,%3,四个指令,做一些处理之后%4。感觉这 阅读全文
posted @ 2021-08-28 09:40 风归去 阅读(17) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
🚀
回顶
收起
🔑