自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(75)
  • 收藏
  • 关注

原创 最小区间--单调队列+优先队列

给定k个有序数组, 每个数组有个N个元素,找出一个最小的闭区间,使其包含每个数组中的至少一个元素。 给定两个区间[a,b], [c,d]: 如果 b-a < d-c,则认为[a, b]是更小的区间; 如果 b-a == d-c,且a < c,则认为[a, b]是更小的区间。输入样例3 32 12 142 6 94 7 19按元素大小扔进优先队列,每次弹出最小值...

2018-09-04 21:34:48 500

原创 CPPUnit学习笔记

1.环境配置1)下载CPPUNit 1.12.1版本:CPPUnit 1.12.1 2)解压 tar -xf cppunit-1.12.1.tar.gz 3)进入目录后运行configure 4)编译MakeFiles:make && make install

2018-07-26 16:25:08 211

原创 Linux学习笔记

1.查询类ps-efgrep

2018-07-05 11:01:13 209

原创 Git学习笔记

1.GIT上传代码到Gerrit的步骤1)git status 查看本地文件变化 2)git add xx 增加要GIT的文件 3)git commit -m "xxx" 提交,-m表示命名 git commit 提交,回车后会弹出vim提示输入提交内容 git commit --a

2018-07-04 21:32:00 170

原创 Cmake学习笔记

Wait for update

2018-07-04 19:38:00 173

原创 Makefile学习笔记

Wait for update

2018-07-04 19:37:21 163

原创 C++开发:知识缺漏学习及ERROR集锦

1.内存释放问题2.error: invalid use of non-static data member ’XXX’3.error: passing xxx as ‘this’ argument of xxx discards qualifiers

2018-07-04 13:36:02 4350

原创 HihoCoder 编程练习赛49

好久没写题了,今晚即兴做了一场。出题3/4,记录下。比赛题目链接:https://hihocoder.com/contest/offers49/problems相似颜色题意:给你一串字符串#abcdef,让你求字符串#rrggbb,使得(ab−rr)2+(cd−gg)2+(ef−bb)2(ab−rr)2+(cd−gg)2+(ef−bb)2(ab - rr)^2 + ...

2018-03-08 23:59:08 327

转载 CSDN-markdown编辑器使用方法

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I

2018-02-03 16:19:34 121

原创 HDU 2222【AC自动机】

题意:第一行输入测试数据的组数,然后输入一个整数n,接下来的n行每行输入一个单词。 最后输入一个字符串,问在这个字符串中有多少个单词出现过。#include <stdio.h>#include <stdlib.h>#include <string.h>struct Node{ int cnt;//是否为该单词的最后一个结点 ...

2017-10-26 21:32:01 304

原创 Stammering Aliens 【二分+哈希】

题目链接:https://odzkskevi.qnssl.com/0187fdccf71569bb074542c4463bea64?v=1508888740题意:给你一个整数n和一串字符串,求最长出现至少n次的子串。 输出最长子串长度和最后一个子串的第一个字符位置。做法:1.二分长度求右界。 2.judge里hash,用map记录次数#include <bits/stdc++.h>using

2017-10-26 19:56:38 280

原创 Shortest Prefixes【trie树】

字典树入门题题意: 任何字符串不能是其余字符串的前缀(跟哈夫曼编码一样)。 求出每个字符串最短前缀,且可唯一识别该串。 题目链接: https://odzkskevi.qnssl.com/c6f7f52e0997f01b37ef9c45742fcf77?v=1508370599 Sample Input 1 carbohydrate cart carburetor cara...

2017-10-25 20:22:18 231

原创 UVA “strcmp()" Anyone?【字典树数组链表版】

UVA “strcmp()” Anyone?题意: Sample Input 2 a b 4 cat hat mat sir 0 Sample Output Case 1: 1 Case 2: 6题目链接:https://odzkskevi.qnssl.com/d53d2ae0b0fc885d7fb0af4dcea1489e?v=1508641012#include <bi

2017-10-25 19:27:16 207

原创 JAVA 结构体sort举例

HDU 1865 最小生成树import java.awt.List;import java.io.BufferedInputStream;import java.util.ArrayList;import java.util.Collections;import java.util.Scanner;public class Main { public static class N

2017-10-25 19:22:17 263

原创 CCPC 2016 Final 【solve 6 of 12】

A.The Third Cup is Free【简单贪心】题意:有n杯咖啡,每杯有对应的价格。每三杯可免费其中最便宜的一杯。求购买n杯咖啡的最小花费。 做法:从大到小排序,每三杯累计前两杯的费用。 代码:#include <bits/stdc++.h>using namespace std;int a[100100];inline int rd(){ int x = 0,f = 1

2017-10-20 23:29:56 2473

原创 矩阵快速幂学习笔记

矩阵快速幂基于快速幂原理,也就是二进制倍增的原理。可以用来求递增式的解。 首先我们来说一个简单的递增式:f(n)=f(n−1)+f(n−2),f(0)=1,f(1)=1f(n)=f(n−1)+f(n−2),f(0)=1,f(1)=1f(n)=f(n-1)+f(n-2),f(0)=1,f(1)=1 1.第一步要做的是构造矩阵:[f(n)f(n−1)]=[1110]×[f(n)f(n−1)]=[1...

2017-10-20 11:00:23 237

原创 JAVA BigDecimal除法精度和格式化输出

import java.math.BigDecimal;import java.math.MathContext;import java.math.RoundingMode;import java.text.DecimalFormat;public class Main { public static void main(String[] args) { //保留两位

2017-10-10 17:53:51 4570

转载 java中的BigDecimal和String的相互转换

/*由数字字符串构造BigDecimal的方法 *设置BigDecimal的小数位数的方法 */ import java.math.BigDecimal; //数字字符串 String StrBd="1048576.1024"; //构造以字符串内容为值的BigDecimal类型的变量bd BigDecimal bd=new BigDecimal(StrBd);

2017-10-09 20:02:31 536

原创 最短路模板 HDU1874

O(n2)的dijkstra。点少的时候用。#include <bits/stdc++.h>using namespace std;const int maxn = 550;const int inf = 0x3f3f3f3f;int mp[maxn][maxn]; //图int d[maxn]; //s到其余点的距离bool vis[maxn]; //标记访问int n, m; /

2017-10-08 14:03:17 227

原创 LIS模板O(nlogn)

严格递增LISint solve(int x) { int dp[maxn + 5]; memset(dp, 0x3f, sizeof(dp)); dp[0] = b[0]; int top = 1; for(int i = 1; i < x; ++ i) { if(b[i] > dp[top - 1]) { dp[to

2017-09-27 18:06:07 282

原创 HDU 1166 树状数组&&线段树模板1

#include <bits/stdc++.h>using namespace std;const int maxn = 50000;int tree[maxn + 10];char op[10];inline int lowbit(int x) { return (x & -x);}void add(int x, int val) { while(x <= maxn)

2017-08-16 14:46:59 215

原创 51 nod 1625 夹克爷发红包【贪心、二进制枚举】

1625 夹克爷发红包题意:1.给你一个 nn 行 mm 列的二维矩阵,代表每个人的初始红包值。 2.夹克爷可以至多给 kk 行 / 列的每个人发红包,每一个价值为 xx,同时会覆盖掉初始红包。 3.求所有人的最大红包值总和。 4.数据范围1≤n≤10,1≤m≤200,1≤x≤109,0≤k≤n+m1\leq n\leq10,1\leq m\leq 200,1\leq x\leq 10^9,0

2017-08-16 14:42:27 220

原创 Codeforces Round #426 (Div. 2) (solve 3 of 5)

这一场血崩了,A题交太快WA了,B题读错题WA了,C题没特判WA了..orz..A. The Useless Toy【模拟】题意: 1.给你2个符号和1个数字,代表初始状态、终止状态、旋转次数。 2.保证输入数据正确,问你输入的旋转是顺时针、逆时针还是不能确定。思路:暴力模拟。代码:#include <bits/stdc++.h>using namespace std;typedef pai

2017-08-16 14:21:17 180

原创 Codeforces Round #401 (Div. 2) D. Cloud of Hashtags【模拟、贪心】

D. Cloud of Hashtags题意:1.给你 nn 串字符串,都是以#开头。 2.让你删除掉最少的一些字符,从而形成 nn 串字典序不递减的字符串。思路:1.贪心策略:从后往前推,即是形成字典序不递增的字符串,这样可以使得保留最多,即删除最少。 2.每次计算,只与后一列有关系。 3.直接比对模拟取子串就行了。代码:#include <bits/stdc++.h>using name

2017-08-12 00:37:42 203

原创 Codeforces Round #401 (Div. 2) C.Alyona and Spreadsheet【简单DP】

C.Alyona and Spreadsheet题意:1.给你一个 n×mn\times m 的矩阵。 2.kk 次询问。每次给定两个边界 ll 和 rr,问是否存在从第 ll 行到第 rr 行数字是不递减的列。 3.数据范围:1 ≤ n⋅m ≤ 1000001 ≤ n·m ≤ 100000,1 ≤ k ≤ 1000001 ≤ k ≤ 100000思路1:1.每一列用数组 dp[i]dp[i]

2017-08-12 00:24:19 194

原创 Codeforces Round #401 (Div. 2) (solve 4 of 5)

A - Shell Game【暴力】题意:1.有三个坑,小球在其中一个坑。 2.执行 nn 次交换后,告诉你最后小球的坑位 xx。 3.奇数次(1.3.5...)(1.3.5...)交换前两个坑,偶数次(2.4.6...)(2.4.6...)交换后两个坑。 4.数据范围:1≤n≤2×1091≤n≤2\times10^9,0≤x≤20≤x≤2 思路:1.周期为 66,所以对 nn 做优化,n=n

2017-08-11 23:33:19 178

原创 Codeforces Round #419 (Div. 2) C. Karen and Game【贪心】

C. Karen and Game题意:1.给你一个矩阵 2.每次可以给一行或一列减1 3.求减的最小次数思路:1.当矩阵的最小值 minmin 不为 00 ,且行列数不同时,行少每行减掉 minmin ,列少每列减掉 minmin 。 2.执行完第1步后,算是初始化完毕。接下来怎么减都无所谓了。只要最终能减完,那就成立,不然不成立。证明如下:(待补全)代码:#include <bits/st

2017-08-11 19:24:15 184

原创 Codeforces Round #419 (Div. 2) B. Karen and Coffee【前缀和求区间覆盖次数】

B. Karen and Coffee题意:有 nn个专家给你推荐咖啡合适温度范围[l,r][l,r],当有kk个专家推荐到某个温度时,说明这个温度是合理的。 给你qq的提问,每个提问给你一个范围[a,b][a,b],问你这个范围有多少温度是合理的。 数据范围:数据范围:1≤k≤n≤2000001≤k≤n≤200000 ,1≤q≤2000001≤q≤200000, 1≤l≤r≤2000001≤l

2017-08-11 16:28:07 333

原创 Codeforces Round #419 (Div. 2) A - Karen and Morning【水题】

A. Karen and Morning题意:24进制数字,求走到回文时的最小时间。思路:直接暴力模拟代码:#include <bits/stdc++.h>using namespace std;int main() { int h, m; scanf("%d:%d", &h, &m); int ans = 0; while(h / 10 != m % 10 ||

2017-08-11 14:05:37 193

原创 Codeforces Round #427 (Div. 2) (solve 5 / 6)

这次做了3个题,涨分了。C题能过是侥幸。补到了5题,E题还有点蒙,清晰了再写。A. Key races【水题】B. The number on the board【简单贪心】C. Star sky【模拟、二维前缀和】D.Palindromic characteristics【DP、后缀和】

2017-08-11 13:57:47 174

原创 Codeforces Round #427 (Div. 2) D.Palindromic characteristics【DP、后缀和】

D. Palindromic characteristics题意:k-回文的定义:1.它的左半部分等于右半部分,即本身是1-回文。2.它的左半部分和右半部分都是(k-1)-回文,奇数长度不考虑正中间。给你一串长度为n的字符串,让你统计其所有子串中,是1-回文到n-回文的个数,并输出。思路:1.暴力枚举所有子串,计算它们的最高回文等级。2.dp[i][j]表示从第i位到第j位的最高回文等级为dp[i]

2017-08-10 23:47:41 220

原创 Codeforces Round #427 (Div. 2) C.Star sky【模拟、二维前缀和】

C. Star sky题意:1.给你星星的最大亮度c,星星每秒增加1亮度,超过c则变为0。 2.在二维坐标下,给定你n颗星星的坐标(x,y)以及0时刻时的亮度。 3.有q次询问。每次给你时刻t以及两个坐标,求两个坐标构成的矩形范围内的星星,求其总亮度。思路:1.可以发现星星亮度的时间周期是(c + 1) 2.由于100 * 100范围内,但至多有10^5个星星,所以说明星星可以重叠。 3.c

2017-08-10 23:22:28 321

原创 Codeforces Round #425 (Div. 2) D - Misha, Grisha and Underground【LCA倍增】

D - Misha, Grisha and Underground【LCA倍增】题意:给你一棵n个结点无向树。我们假定根为结点1。给你三个点,求任意两点到另外一点的最大重叠路径 + 1。思路:如果知道LCA,那这题就接近是裸题了。可以简单证明三个点必有两个点的LCA是一样的。然后答案就是深度大的LCA到三点距离的最大值。这个通过画图可以清晰的知道结果。 代码:#include <bits/stdc

2017-08-09 23:09:17 690

原创 Codeforces Round #425 (Div. 2) C - Strange Radiation【二分、数学、前缀和】

C - Strange Radiation【二分,前缀和求重叠区间】题意:你有一个炸弹,速度比人快。炸弹气流从爆炸位置以速度s向左右两边飞。 一维坐标。给你n个人的坐标x、走向dir、速度v。 当炸弹和人重叠且同向的时候,人的速度变为v + s,不考虑逆气流的影响。 让你在[0, 1e6]的范围内放置炸弹,花最少的时间使得至少有一个走到位置0,还有一个人走到位置1e6。求最少时间。思路:求最少

2017-08-09 23:07:00 326

原创 Codeforces Round #425 (Div. 2) B. Petya and Exam【模拟】

B. Petya and Exam【模拟】题意:给你一串字母,这些字母都是good字符,其余的小写字母都是bad字符 再给你一个模式串,包括小写字母,'*'和'?'三种。 其中‘?’只能由一个good字符代替,‘*’只能由若干个或者0个bad字符代替。 接下来给你N个字符串,判断这些字符串能否匹配模式串。思路:1.如果模式串不包括'*'。 1)模式串和匹配串的长度一定要相等,不相等NO,相等

2017-08-09 23:05:07 282 1

原创 Codeforces Round #425 (Div. 2) A - Sasha and Sticks【水题】

A - Sasha and Sticks【模拟】题意:有n根棒,2个人轮流取,一次取k个,当不够k个的时候就停止。Sasha先取,问Sasha是否能比另一个人取的多,多则输出YES,否则NO。思路:令x = n / k,那么x即为取的次数,当x为偶数说明取的一样多,当x为奇数说明先手取的多。 代码:#include <bits/stdc++.h>using namespace std;type

2017-08-09 23:00:33 191

原创 Codeforces Round #425 (Div. 2) (solve 4)

本场打的时候只过了一题,orz…. 手速快保住了rating..A - Sasha and Sticks【模拟】题意:有n根棒,2个人轮流取,一次取k个,当不够k个的时候就停止。Sasha先取,问Sasha是否能比另一个人取的多,多则输出YES,否则NO。思路:令x = n / k,那么x即为取的次数,当x为偶数说明取的一样多,当x为奇数说明先手取的多。 代码:#include <bits/std

2017-08-09 20:27:22 168

原创 输入外挂

输入数字的外挂#include <bits/stdc++.h>using namespace std;typedef long long LL;inline LL read(){ LL x = 0,f = 1; char ch=getchar(); while (ch < '0' || ch > '9') { if (ch == '-') f = -1;

2017-08-09 09:45:13 595 1

原创 Educational Codeforces Round 25

这一场是暑期的第一场,做了4个题,被HACK两个,都是很粗心的错误,手生的问题。【A】Binary Protocol题意:给你一串字符串,只有0和1。用m个0将字符串分为m+1段,每段字符串中‘1’的个数代表一个数。做法:在末尾补0.然后扫一遍。遇到1累加,遇到0输出累加值。注意:1001有两个连续的0,两个0之间有0个1,所以输出0,结果101.1110末尾为0,0的后面有0个1,所

2017-08-04 10:55:56 226

原创 大组合数取余模板

求C(n, m) % mod 12345678910111213141516171819202122232425262728293031323334353637383940#include using namespace std;long long fact[200200];long long

2017-08-04 10:55:51 395

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除