上一页 1 ··· 33 34 35 36 37 38 39 40 41 ··· 68 下一页
摘要: 显然高位越高越好,因此从高位往地位计算,判断当前位填0或者填1 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=3e5+10; const int mod=1e9+7; struct nod 阅读全文
posted @ 2020-07-06 13:18 朝暮不思 阅读(189) 评论(0) 推荐(0)
摘要: 这道题的矩阵需要转化一下思路,转换成邻接矩阵,也就是看成某个点与别的点的连线 因为每个点只和别的点有且只有两条线,因此每个点都在一个环中 这个有两种情况,一种是重边,也就是两点间是一个环,其他就是随意的 因此可以通过组合数公式推出dp方程 #include<bits/stdc++.h> using 阅读全文
posted @ 2020-07-06 10:40 朝暮不思 阅读(167) 评论(0) 推荐(0)
摘要: 用二进制压缩表示每一门科目有多少班级要考 之后枚举需要靠的科目,用二进制来控制一天之内能考的不冲突的科目 值得一提的是,虽然这样对于每一天可能并不是最佳利用的,但是答案确是最优的 因为我们保证了最后的结果是不互相冲突的,如果日子能够压缩,那么其实代表某一天的科目能放到其他天,但是这样是不存在的,否则 阅读全文
posted @ 2020-07-05 21:43 朝暮不思 阅读(200) 评论(0) 推荐(0)
摘要: 概率+暴力dfs 可以暴力枚举所有的状态,判断是否成立,对于每个状态,记录抽到这个状态的概率,如果能成功,就在答案上加上这个概率 #include <cstdio> #include <algorithm> #include<iostream> using namespace std; const 阅读全文
posted @ 2020-07-05 20:01 朝暮不思 阅读(213) 评论(0) 推荐(0)
摘要: 思维题,题目限制了在一个长度为k的滑动窗口内必须要有l个数 因此所有%k相等的位置的状态是固定的,否则两个k中的个数就不相等 因此只需要把%k个相加,之后在k个中选最大的l个就行 #include<bits/stdc++.h> using namespace std; const int N = 1 阅读全文
posted @ 2020-07-04 23:27 朝暮不思 阅读(147) 评论(0) 推荐(0)
摘要: 题意:给定一个字符串,每个操作1修改字符串上的某个值 2.给x,y,询问以x开头和以y开头的两个后缀字符串的最长前缀的大小。 经典的线段树维护hash值,之后对于每个询问,用二分查询答案,带了两个log 比赛的时候一直被卡,结束后加了一行如果第一个字母不等就略过的优化就卡过了,太伤了。 #inclu 阅读全文
posted @ 2020-07-04 23:06 朝暮不思 阅读(176) 评论(0) 推荐(0)
摘要: 因为我要目标值和真实值相同,所以肯定要按目标值大小排序,从小往大排,否则直接就冲突了 之后对于每个节点维护一格mx表示当前周围被填了的mex值,之后对比可以知道是否成功 #include<bits/stdc++.h> using namespace std; const int N=1e6+10; 阅读全文
posted @ 2020-07-04 18:04 朝暮不思 阅读(259) 评论(0) 推荐(0)
摘要: 这题的rotate操作其实就是暗示可以把某一个数提到最前面 因此本题其实就是求取最长公共子序列 但是有个问题当转移遇到s[i]==t[j]的时候,不能直接转移,因为只有当他二十六个字母的后缀数组全部比t串大时才可以转移,否则如果匹配了当前两个 没有办法把后面的提上来变成相等 #include<bit 阅读全文
posted @ 2020-07-03 23:16 朝暮不思 阅读(250) 评论(0) 推荐(1)
摘要: 对于一些不符合的点来说,肯定是被他的父节点上权值最小的点转换最好。 首先我们先排除不可能情况也就是01不等 之后发现,交换完两个数后,0不符合的和1不符合的个数各自-1,因此不会影响其他交换 因此我们维护一个最小值,表示父亲节点的最小值,如果这个值比当前节点小,那么显然在子树内部交换更好 之后只要d 阅读全文
posted @ 2020-07-03 22:30 朝暮不思 阅读(174) 评论(0) 推荐(0)
摘要: 基本建图套路,从单词头向单词尾连一条边,答案就是是否存在一条欧拉路径 #include<bits/stdc++.h> using namespace std; const int N=2e5+10; int p[N]; int din[N],dout[N]; int st[N]; int find( 阅读全文
posted @ 2020-07-03 20:04 朝暮不思 阅读(213) 评论(0) 推荐(0)
上一页 1 ··· 33 34 35 36 37 38 39 40 41 ··· 68 下一页