08 2018 档案
摘要:哇这道题好坑啊,可能是我太菜了 题意就是叫把一个连续序列分成K组,使得每个组的和都相等 我最开始的想法是由于要分成K组,那我们知道,每组一定有sum(a[i])/k这样我们只需要每次当num==sum/k时,把num变成0 这样我们看最后是不是0,即可判断是否可以分组,但是最后要考虑到末尾为0的情况
阅读全文
摘要:歇逼了一晚上,懵懵懂懂的懂了Dinic算法 大概是一遍BFS+DFS,还不是很懂,明天继续看!!!
阅读全文
摘要:好吧二分图的最小点覆盖=最大匹配 这道题也就变成模板题了。。。 写一个提醒,在写二分图时,尽量清零操作清空为-1,比如这个题,匹配数组girl[]如果清空为0,代表每个点都与0点连接,但是实际上是并没有
阅读全文
摘要:最关键的是找前这个sum[i]=sum[i]*(n-1),然后发现每个新的序列差分都不变,求出差分 然后用这个公式维护a[1],用ans[i]代表翻i次的第一项是什么,然后奇偶分情况看是加差分还是减即可
阅读全文
摘要:亏我前几天还学数论呢。。。没有深入研究费马小定理这个东西。。。做事情一定要静下心来啊。。。 题目要求满足(m+n)^p=m^p+n^p,要你定义一个封闭的新的加法和乘法运算 我们知道费马小定理中有两种表示法 费马小定理:若p是素数且a是整数则a^p≡a(mod p),特别的若a不能被p整除,则a^(
阅读全文
摘要:说什么原因是假的。。。Q神说的对。。。做出一两题,难道不应该反思自己吗???关键时候还是要靠老宋。。。如果没有老宋。。。或许自己打的更加不堪入目吧。。。靠板子是没有用的,你不知道内部的构成,还是要多刷题,多总结,熟悉更多的题型,开学了,也就意味着事情越来越多,希望自己能身体越来越强壮,病越来越少,有
阅读全文
摘要:https://www.nowcoder.com/acm/contest/158#question 这题问最长的严格连续递增序列的最长长度是多少? 最开始感觉这道题不可做,因为有1e5个点,还有1e5的操作数 可是后来发现。。。这题水的一匹a[i]和y都是在1-100的范围内部 不如这样,我用一个d
阅读全文
摘要:题目链接https://www.nowcoder.com/acm/contest/158/A 无语。。。这题很迷啊,原谅我的菜,刚开始想用预处理欧拉筛和前缀和,可是这题太血崩了,这样一样要遍历,1-e9的范围,后来翻网上题解,发现其实是个还算经典的问题 这题可以用离散和做嘛,如何离散和???先别着急
阅读全文
摘要:A-典型的追击问题,较多的坑点,回游有很多种情况,注意分类 #include<iostream> #include<stdio.h> #include<string.h> using namespace std; int main(){ double l,k,a,b; cin>>l>>k>>a>>b
阅读全文
摘要:这个题B站上面有这题很完整的分析和证明,你实在不懂,可以看看这个视频 https://www.bilibili.com/video/av19849697?share_medium=android&share_source=qq&bbid=00561DA9-126A-4190-88A8-2B9DD5D
阅读全文
摘要:挺不错的概率DP,看似基础,实则很考验扎实的功底 这题很明显是个DP,为什么???找规律或者算组合数这种概率,N不可能给的这么友善。。。 因为DP一般都要在支持N^2操作嘛。 稍微理解一下,这DP[i][j]还是不好想啊,首先是写DP[I][j]的含义 首先我们想这道题是要求一个最优决策下的期望,那
阅读全文
摘要:https://www.nowcoder.com/acm/contest/136/E 我搜索很差啊,看了学长代码,自己在下面手敲了一遍,感觉学长的极其精巧,把我繁琐的搜索步骤给简化了不少 其实本题想法还是很简单的,就是每次放一个物品,我们就搜索他周围的位置,会不会有连续五个,但是我面临的困难是,怎么
阅读全文
摘要:问了学长,感觉还是很迷啊,不过懂了个大概,这个翻转操作,实质不就是在序列后面加上前面部分比如 bw | wwbwwbw 操作过后 wbwbwwbww 而 bw | wwbwwbwbw 这样我们就知道这样的实质了,因此我们只需要把序列再次倍增,求最长的间隔序列即可
阅读全文
摘要:题目链接https://www.nowcoder.com/acm/contest/136/J 这题我还是不找规律了,老老实实推吧,传说找规律也可以,我还是算了 递推式:f(n)=k*f(n-1)+p 是的,你没有看错,这玩意是什么???是高中的数列求和啊,什么你没看出来,这玩意外号——一阶线性递推
阅读全文
摘要:求树直径的方法在此转载一下大佬们的分析: 可以随便选择一个点开始进行bfs或者dfs,从而找到离该点最远的那个点(可以证明,离树上任意一点最远的点一定是树的某条直径的两端点之一;树的直径:树上的最长简单路径)。再从找到的点出发,找到据该点的最远点,那么这两点就确定了树的一条直径,两点间距即为所求距离
阅读全文
摘要:首先得了解,期望是线性的。。。但是期望的平方和立放却不是emmmmm 我们求的是x^3的期望,明摆着就是求E[X^3]的期望但是。。。E[X^3]!=E[X]^3 不如这样!!! E[(X+1)^3]=E(X)^3+3*E[X]^2+3E[X]+1 E[(X+1)^2]=E[X]^2+2*E[X]+
阅读全文
摘要:我们知道不满足的肯定是两边大中间小的,这样就用RMQ查询两个相同等值的区间内部最小值即可,注意边界条件
阅读全文
摘要:#include #include #include #include using namespace std; char s[200005]; int main(){ int k,n; int zk; int yk; while(~scanf("%d%d",&n,&k)){ zk=0; yk=0; scanf("%s",s); int lens=...
阅读全文
摘要:#include #include #include #include using namespace std; char a[200006]; char b[200006]; int main() { int n,m; int lena; int lenb; while(~scanf("%d%d",&n,&m)) { scanf("%s"...
阅读全文
摘要:枚举每个获胜的可能的票数+按照花费排序
阅读全文
摘要:度度熊剪纸条 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1397 Accepted Submission(s): 206 Problem D
阅读全文
摘要:由于序列有序,求其中一个最优解,二分答案即可,注意二分时上边界满足才保存
阅读全文
摘要:用stl的list即可,注意。。。代码的简洁性(被debug伤痛)注意合并时可以手动pop,或者用splice进行合并,不能用merge!!!merge合并是自带排序!!!
阅读全文
摘要:这道单词拼写真的是很好的搜索题目还是用DFS进行搜索,用vis[i]表示是否用过,然后进行查找首先从给定的头开始进行dfs然后进行遍历每个单词1看这个单词是否用过2看这个单词是否可以连接上然后需要暴力一遍长度判断是否可以连接可以的话就进行连接,然后继续深搜下去否则话就回溯回来这里用string类进行
阅读全文
摘要:POJ - 1287超级模板题 大概意思就是点的编号从1到N,会给你m条边,可能两个点之间有多条边这种情况,求最小生成树总长度? 这题就不解释了,总结就算,prim是类似dijkstra,从第一个点出发,每次走这个点没走过的最小边权值,这样不断找下去就可以找出,本质就是贪心算法 而kruskal是利
阅读全文

浙公网安备 33010602011771号