08 2019 档案

摘要:坑点在于会有空串,需要用getline #include<bits/stdc++.h> using namespace std; string s; int f[105][105]; bool match(char a,char b){return ((a=='('&&b==')')||(a=='[ 阅读全文
posted @ 2019-08-29 16:37 Coder_cjh 阅读(795) 评论(0) 推荐(0) 编辑
摘要:这一道题很明显的DP思路,可以直接上线性DP 阅读全文
posted @ 2019-08-28 10:43 Coder_cjh 阅读(200) 评论(0) 推荐(0) 编辑
摘要:目前还在评测,因为UVA评测姬它死了,但是udebug是可过的 Step 1 首先我们可以想到全部sort一遍,但是这样效率太低了,我们可以想到另一种方法,因为前I个数是上一次询问就已经保存下来的,我们只要找到这第i+1个数就好了 Step 2 确定数据结构:对顶堆 第一个用来保存前i个数,第二个的 阅读全文
posted @ 2019-08-27 22:03 Coder_cjh 阅读(178) 评论(0) 推荐(0) 编辑
摘要:我才不会说我是标题党 题目地址 种树1 种树2 数据备份 黑题???自己找吧 Solution 都是一个东西啦,其实思路差不多,注意几个点 注意数据类型 注意数据范围 注意输入格式 多测不清空,爆零两行泪 题目要求(最大,最小) 正负 接下来就是愉快的代码时间 1 #include<bits/std 阅读全文
posted @ 2019-08-27 12:35 Coder_cjh 阅读(522) 评论(0) 推荐(0) 编辑
摘要:Solution 看到这道题,可以想到和合并果子类似,之后拓展成k叉合并果子就可以了,注意最下面一层不满时要补满 Code 阅读全文
posted @ 2019-08-26 22:13 Coder_cjh 阅读(222) 评论(0) 推荐(0) 编辑
摘要:My blog 题目简述 给你一个字符串 SS ,判断有多少个前缀也是后缀 输入格式 第一行T,有T组数据 第2~T+1行,T个字符串 输出格式 Case (Number): ans 数据范围 1<=|S|<=10^6 Solution Step\ 1:HashStep 1:Hash 看到这道题很容 阅读全文
posted @ 2019-08-26 10:06 Coder_cjh 阅读(278) 评论(0) 推荐(0) 编辑
摘要:Solution 很容易想到这是一个01背包,因为还要留时间,就先把时间的1扣掉,之后再加上劲歌金曲的678秒,其它的细节注意一下就好了。 Code 阅读全文
posted @ 2019-08-25 23:05 Coder_cjh 阅读(176) 评论(0) 推荐(0) 编辑
摘要:Solution 这一道题的状态很好想,用f[i][j]来表示第i秒在第j个车站至少要等多久,预处理出在第i秒第j个车站是否有车,注意数据可能会超过T,要注意清零。 Code 阅读全文
posted @ 2019-08-25 22:52 Coder_cjh 阅读(198) 评论(0) 推荐(0) 编辑
摘要:Solution1 可以通过堆来实现,按照过期时间排序,优先处理过期时间短的,等到没办法塞进去的时候弹出堆顶,最后就是所有的取法 Solution2 可以通过链表+贪心实现,先把价值最高的放在最后,不浪费,之后再利用链表考虑前面的 阅读全文
posted @ 2019-08-24 22:30 Coder_cjh 阅读(123) 评论(0) 推荐(0) 编辑
摘要:看到这一道题其实和玉米田很类似,只不过多记录了前两行,其他大体细节差不多,注意滚动数组似乎不滚动更快??? Code 阅读全文
posted @ 2019-08-24 21:50 Coder_cjh 阅读(218) 评论(0) 推荐(0) 编辑
摘要:首先我们要找最小的,其实可以通过逆向思维,把所有大的都排除就可以得到小的,详细见代码 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int N=3e5+5; 4 int a[2*N],n; 5 int main(){ 6 scanf 阅读全文
posted @ 2019-08-24 13:52 Coder_cjh 阅读(112) 评论(0) 推荐(0) 编辑
摘要:这道题可以想到用KMP来解决,根据定义,对于每一个i,S[1-Nxt[i]+1~i]=S[1~Nxt[i]],并且不存在更大的循环节 Nxt[i]数组表示以i结尾的非前缀串与自身的前缀能匹配的最大数,可以方便更新 主要性质: 必要性:若循环元为len,当且仅S[1~i-len]=S[len+1~i] 阅读全文
posted @ 2019-08-23 21:55 Coder_cjh 阅读(188) 评论(0) 推荐(0) 编辑
摘要:模板题,进行异或操作后会抵消,相当于是找两个数进行异或 阅读全文
posted @ 2019-08-18 21:09 Coder_cjh 阅读(194) 评论(0) 推荐(0) 编辑
摘要:模板题,想象一条线从左边扫到右边,只有在矩阵边界才会产生影响,所以我们离散化缩小数据范围,再用线段树维护扫描线上的情况,得出结果 阅读全文
posted @ 2019-08-18 20:52 Coder_cjh 阅读(151) 评论(0) 推荐(0) 编辑
摘要:秦九韶算法+暴力枚举 因为系数是高精度,所以我们可以取模,模越多个越保险,但是一个就够了。 阅读全文
posted @ 2019-08-18 20:10 Coder_cjh 阅读(110) 评论(0) 推荐(0) 编辑
摘要:这道题通过隐含的条件可以发现产生的两类数是符合单调性的,就可以通过队列来维护 代码 阅读全文
posted @ 2019-08-18 19:44 Coder_cjh 阅读(105) 评论(0) 推荐(0) 编辑
摘要:这道题一看我们可以发现一个木桶原理,只要有一个短的,长的就没用了,我们就可以维护一个单调栈,如果碰到比前面小的,就直接进行统计和修改,最后再设n+1个矩形高度为0来统计,注意清零 阅读全文
posted @ 2019-08-17 21:34 Coder_cjh 阅读(112) 评论(0) 推荐(0) 编辑
摘要:引用某本蓝书 解决这道题,首先其实就是两步,1.把中缀转后缀 2.把后缀计算并输出 1. 中缀表达式转后缀表达式 建立一个栈来存储运算符 左括号:进栈 数字:输出 右括号:取栈顶直到左括号,把左括号出栈 运算符:保证优先级的前提下,插入到合适的地方 2.计算后缀表达式 建立一个栈存数 遇到数:进栈 阅读全文
posted @ 2019-08-17 21:04 Coder_cjh 阅读(310) 评论(0) 推荐(0) 编辑
摘要:首先呢,我们想到一种数据结构可以区间开方,一看就不行,但是一看就算是10^18开六次方也只剩一,就不用开根了,所以可以想到用线段树或者分块水过,由于本人 不会用分块,只能用常数巨大的线段树 Code 阅读全文
posted @ 2019-08-17 19:54 Coder_cjh 阅读(156) 评论(0) 推荐(0) 编辑
摘要:GSS1 直接维护静态区间和即可 GSS3 加入单点查询就好了 阅读全文
posted @ 2019-08-11 20:54 Coder_cjh 阅读(145) 评论(0) 推荐(0) 编辑
摘要:简介 状态压缩DP是将一连串状态压缩成为一个P进制(P通常为2)数,并由此达到压缩的目的 例题 P1879 [USACO06NOV]玉米田Corn Fields 因为只和之前的一行有关系,就可以通过状压先找出这一行中合法的状态,再和上一行的进行转移 Code P1896 SCOI2005互不侵犯 这 阅读全文
posted @ 2019-08-11 20:05 Coder_cjh 阅读(156) 评论(0) 推荐(0) 编辑
摘要:首先有两个最短路,可以考虑把一个东西拿出来二分,也就是可以二分最小值,但是注意不要用SPFA他死了,可以用Dij跑最短路,再二分,效率会大大提高 1.SPFA 2.DIJ 阅读全文
posted @ 2019-08-11 19:22 Coder_cjh 阅读(74) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示