- 博客(24)
- 收藏
- 关注
原创 Codeforces Round #833 (Div. 2) C- Zero-Sum Prefixes (贪心+前缀和)
Codeforces Round #833 (Div. 2) C- Zero-Sum Prefixes 简洁明了
2022-11-18 09:59:09
274
原创 Diverse Substrings CodeForces - 1748B
Diverse Substrings CodeForces - 1748B 比较简洁
2022-11-15 09:14:23
204
原创 C - Complementary XOR CodeForces - 1750C
C - Complementary XOR CodeForces - 1750C 简单明了
2022-11-09 14:54:58
307
原创 C - Mark and His Unfinished Essay CodeForces - 1705C
每次将字符串左右的信息以及长度存起来,然后查询的时候利用二分查询id的位置大概位于len的哪一个位置吧,然后在用二分不断。将id前移,范围到了原字符串长度退出并输出。
2022-11-06 20:27:38
175
原创 Python Indentation
输入‘s’时下一行的缩进与当前相等或者是要更靠前,结合代码看看吧。输入‘f’时下一行必然比当前要更缩进一行。
2022-10-31 14:28:26
171
原创 E - Factorial Divisibility CodeForces - 1754D
然后就是如果x3==x 我们就可以合成x!如果x3==2*x 我们就可以生成两个x!但是我们如果x3不是x的整数倍就不能被x!整除 ,所以我们就低阶一直向上走。x2==(x-1)!(我感觉我的表达能力不够强,大家凑活着看看吧)(设这些就是为了好描述)理解下面就可以理解代码。
2022-10-30 19:27:12
102
原创 CodeForces 893C
题解:实际上就是不断的通过函数找到他们的祖宗并且比较他们祖宗的权值(这一点需要注意吧我是比较输入的两个索引的权值大小。),并根据情况将其合并。最后通过for循环查找他们的祖宗进行sum+祖宗(只能加一次(题意如此))这个得先了解:并查集。
2022-10-21 21:51:05
348
原创 HRBU 2022/10/16
大家都统一b=0时x=1;这样就可以得到每两个相邻状态的x和y的转化了,就可以在求gcd(a,b)的同时求对x,y求解。其实当达到递归基时,此时的a就是gcd(最大公约数),b=0,那么有ax+by=a。带入后:ay^+b ( x ^ - ( a/b ) y ^ )=gcd(a,b);递归:bx+(a%b)y^=gcd(a,b) 【x^和 y^就是上一步的x,y】x是a的模b乘法逆元,y是b的模a乘法逆元(即gcd()=1时的x/y)而当b=0时,有:(递归结束时){a=gcd(a,b),x=1,y=0}
2022-10-16 09:17:06
108
原创 HRBU_2022.10.15
而输出项的%(L/gcd)的这个是因为最初公式是模L,过程中/gcd了。思想用拓展欧几里得,等号最右边是gcd时求出此时条件下的步数,以此还原最初公式的步数。根据斐蜀定理如果代码注释中公式成立则,最右边必然是gcd的倍数。所以最终要%(L/gcd)以此可求是否可能相遇。
2022-10-15 10:51:54
164
1
原创 HRBU_ACM 2022.10.12训练
第i台洗衣机洗一件衣服需要wi分钟,第i台烘干机烘干一件衣服需要di分钟。假设衣服在机器间转移不需要时间,并且洗完的衣服可以过一会再烘干。其次我们在这个过程中用每一次都用最快的洗衣机所以要不断弹出,然后出队,最后维护再放回去;输入第一行有3个整数L,n和m。第二行有n个整数w1,w2,...,wn。第三行有m个整数d1,d2,...,dm。由于你的机器非常的小,因此你每次只能洗涤(烘干)一件衣服。用两个小顶堆,第一部分我们肯定是先让洗的快的衣服快速进入第二步;upc 6910 洗衣服(贪心 优先队列)
2022-10-14 14:30:28
218
2
原创 C. Palindrome Basis
思路:存回文+dp完全背包+预处理#include<bits/stdc++.h>using namespace std;typedef long long ll;//const int maxn = 2e5 + 5;const int maxn = 4e4 + 5;const int INF = 0x3f3f3f3f;const int mod = 1e9+7;char s[maxn];int ans[maxn];int dp[4005];bool ck(int x){
2022-05-09 23:03:27
409
原创 移动路线(简单明了)
理解:个人感觉是这个题问的是最少步数到达右上角的方案数量;最少其实也就是横着走一行,竖着走一列呗,也就是必须x++,或者是y++,向右走一步或者是向上走一步,把每个格子他左边数和下面数加起来就可以。...
2022-04-11 23:47:36
1116
1
原创 计蒜客 实现奇偶性剪枝(简洁明了)
简洁明了,通俗易懂我直接将个人理解与代码相结合。上代码:#include<bits/stdc++.h>using namespace std;int n,m;int t;bool f; //成功与否的标记char mp[110][110]; bool v[110][110]; //映射 int dir[4][2]= {{0,...
2022-04-06 22:24:10
534
原创 2n皇后(蓝桥杯)(计蒜客)(简洁明了不多bb)
题干:我都会将理解与代码结合,希望通俗易懂的跟大家讲明白。代码:#include<bits/stdc++.h>using namespace std;int mp[10][10];int ans,n;int vy[10]; //列int vd1[20];//主对角线int vd2[20];//负对角线void dfs(int x,int p){ // x:行 p:颜色的情况/* 初步理解一下: 本题用dfs p=1 ...
2022-04-05 18:22:59
276
原创 求解八皇后问题
八皇后问题是一个以国际象棋为背景的问题:如何能够在8×8的国际象棋棋盘上放置八个皇后,使得任何一个皇后都无法直接吃掉其他的皇后?为了达到此目的,任两个皇后都不能处于同一条横行、纵行或斜线上。八皇后问题可以推广为更一般的n皇后摆放问题:这时棋盘的大小变为n×n,而皇后个数也变成n。当且仅当n = 1或n ≥ 4时问题有解。(问题描述来自参考文献1)思想我用的是搜索(本人大一,菜鸟一枚,呜呜呜)上代码了,老北鼻们#include<bits/stdc++.h>using namespac
2022-03-31 22:14:39
200
1
原创 逆序对个数(c语言)
本人大一,初次写博客,如有错误欢迎指正/*题目要求是查出左边比右边数字大的sum情况(逆序对)思路: 运用归并排序思想,其思想每一次左右两大队列,是内部有序的 所以说 例子:左 右6 37 58 7当右边出门时就证明他比左边指针所在位置要小,而左边是从小到大的所以说他比左边现存的元素都要小 niuxu+=这些数不用考虑重复因为每一次递归的话已经是把位置进行了调整*/#include<stdio.h>...
2022-03-23 10:59:38
2570
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人