自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【LeetCode79】【回溯】每日一题day14

这道题是前天的每日一题,我前天写了一整晚上,昨天时间不多都没有调过,还拉下了两天的题我尽量今天补上。题面:给定一个二维网格和一个单词,找出该单词是否存在于网格中。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。思路:遍历整个网格,找到单词开头的那个字母开始搜索,看这个字母的上下左右和单词的下一个字母一不一致,如果一致的话标记访问过再下去递归,如果递归后上下左右都找不到返回false就把访问过的标记去掉。cl

2020-09-15 12:20:00 72

原创 【LeetCode637】【BFS/队列】每日一题day13

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: vector<double> averageOfL

2020-09-12 08:47:43 60

原创 【LeetCode216】【回溯】每日一题day12

class Solution {public: void huiSu(vector<vector<int>> &ans, vector<int> res, int k, int n, int cnt) { if (k == 0 && n != 0) { return; } if (k == 0 && n == 0)

2020-09-11 22:23:49 66

原创 【LeetCode 39、40】【回溯】每日一题day10、11

这两道题是组合总数和组合总数II。第一题是在一个无重复数字的数列里可重复取数去组成给定的一个数k,第二题是在有重复数字的数列里每个数只能取一次去组成k。两个题都是回溯嘛。先说第一题,我一开始觉得它有三种情况:1、选它,下一个还选他2、选它,去选下一个3、不选它,去选下一个然后就发现问题了,它同一个答案会输出好几遍,原因是1+3和2是一样的结果,然后我想到了用一个bool值记录它上一次是不是选了它自己,如果是的话就不能走3从这里就开始乱了,后面还出现了漏解的情况…我又一拍脑袋想出了另一种回溯方法

2020-09-10 11:30:47 71

原创 【LeetCode77】【回溯】每日一题day9

这道题我一看就不会啊…本来觉得看看题解可能一两个小时都写不完,结果写个回溯试试十几分钟就过了quq 可能做题多了就是想不过都难的感觉吧,最近特别想做题,多做!多做!多做!class Solution {public: void chooseNum(int s, int t, int k, vector<int> &res, vector<vector<int>> &ans) { if (k == 0)

2020-09-08 15:37:05 64

原创 【LeetCode 347】【map】每日一题day8

class Solution { typedef pair<int, int> PAIR;public: struct CmpByValue { bool operator()(const PAIR& lhs, const PAIR& rhs) { return lhs.second < rhs.second; } }; vector<int> topKFrequent(

2020-09-07 16:18:51 64

原创 【LeetCode107】【BFS】每日一题day7

气死我了气死我了气死我了, while语句右面加了个; 我debug半小时愣是没看着TTTTvTTTT/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class So

2020-09-06 16:05:12 66

原创 【LeetCode60】【全排列】每日一题day6

class Solution {public: int nums[10]; string getPermutation(int n, int k) { for (int i = 1; i <= n; i++) { nums[i - 1] = i; } for (int i = 1; i < k; i++) { next_permutation(nums

2020-09-05 23:24:16 105

原创 【LeetCode257】【DFS】每日一题day5

/** * Definition for a binary tree node. struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {} };*/ class Solution {public: void search(TreeNode *t, vector<st

2020-09-04 09:35:02 73

原创 【LeetCode 51】【N皇后/回溯】【树的遍历】每日一题 day4

参考了这篇题解N皇后问题,典型的回溯。先看暴力做法,就是把第一个皇后放在第一行第一列,然后再把第二个皇后放在第二行,这样试试试不行了就回去,但是你的棋盘已经改了,回去的话再改棋盘就很麻烦题外话:【这里可以发现就是树的前序遍历:根→子树从左到右】【树的遍历共有5中:前序(根→左子树→右子树)、中序(左→根→右)、后序(左→右→根)、bfs、dfs(一枝搜到底,再回到根节点去搜它的其他子树) 我以前不知道它们有什么用_(:з」∠)_原来是可以和实际的搜索结合起来的(看了这篇学到了)】所以我们改成回溯,关键

2020-09-03 22:48:26 96

原创 【LeetCode 剑指Offer 20】【模拟】每日一题day3

我我我我我我本来以为这道题很简单不用写题解,但是我写了一个多小时orz还是很没用的在对着答案调模拟题我老是这样,一下子想不到全部的情况,然后就交上对着答案调,这样一点用都没有啊…不过这道题题面里应该给出数值的定义:在 C++ 文档 中,描述了一个合法的数值字符串应当具有的格式。具体而言,它包含以下部分:符号位,即 ++、-− 两种符号整数部分,即由若干字符 0-90−9 组成的字符串小数点小数部分,其构成与整数部分相同指数部分,其中包含开头的字符 \text{e}e(大写小写均可)、可选的

2020-09-02 10:49:22 76

原创 【LeetCode486】【递归/dp】每日一题day2

我好菜,题做得太少了,思维的东西不够。这道题第一眼我以为是dp,但是它有两个人,好像不满足无后效性,之后又以为是博弈论,但是它又不像取石子有必败态。又觉得这道题数据范围才20,它肯定是想让我们暴搜,但是暴搜我不会写TvT看了题解,可以递归也可以dp…方法一:递归就比较直观,但是要注意这里用turn将玩家二的得分记为负数,就不用再传一个变量了,之后比较大小的时候也要注意正数和负数的问题。class Solution {public: int predict(vector<int&gt

2020-09-02 09:19:17 121

原创 【LeetCode 841】【DFS】每日一题day1

2020.8.31 第一次class Solution { public: void addEdge(int, int); void dfs (int); struct Edge; struct Node { int number; Edge *firstE; } N[1005]; struct Edge { E

2020-08-31 22:25:59 80

原创 【Uva12096】map + vector + 栈

题目链接解题思路用map给每个集合分配一个编号,刚好利用了map里的元素不允许重复和count函数可以查询某个元素有没有出现过。用vector把集合存起来,通过编号可以在vector里提取出相应的集合,在栈里操作编号就很方便。这道题就妙在它是集合的集合,我们为每个不同的集合分配一个ID,那每个集合就可以表示成所包含元素的ID的集合,就可以用set<int> 了。笔记set...

2020-02-20 16:28:25 89

原创 欢迎使用CSDN-markdown编辑

我能行吗够呛自欺欺人本质会一点点变好的毛病会一点点改正的我真的能做到吗一辈子都做不到恐怕才是事实吧也许能5个月后再见再说【微笑】...

2019-01-12 23:23:36 107

原创 【BZOJ3555】字符串Hash

#include <cstdio>#include <cstring>#include <algorithm>const int MAXL = 200 + 5;const int MAXN = 3e4 + 5;const int BASE = 131;unsigned long long base[MAXL], hash[MAXN];char s[MAXN][MAXL];int n, l

2017-07-31 16:46:20 277

原创 【Uva1639】概率 + 期望 + 对数处理精度

紫书上第十章的题 【最近看数学看的想吐】紫书上讲的很好很详细,但是那个概率表达式C(2n - i, n) * p ^ (n + 1) * (1 - p) ^ (n - i) 我看不懂 后来弄懂了意思就是:如果设最后打开盒子1,盒子2里此时还剩i颗糖。那么在最后打开盒子发现没糖了之前,一共打开了 n + (n - i) 次盒子,在盒子1里面取了n颗糖,一共有多少种方案,每种方案里,打开盒子1(加上

2017-07-18 15:28:46 286

原创 【UVa1635】唯一分解定理 + 组合数递推

#include <cstdio>#include <algorithm>#include <vector>#include <queue>#include <cstring>#include <climits>#include <utility>#include <cmath>using namespace std;const int MAXN = 1e5 + 5;int n, m

2017-06-06 23:37:43 514

原创 【Codeforces Round #410 (Div. 2) B】暴力

#include <cstdio>#include <cstring>#include <string>#include <iostream>#include <climits>using namespace std;string s[50], st[50];int main(){ int n; scanf("%d", &n); for (int i = 0; i

2017-05-05 09:17:56 360

原创 【网络流24题 太空飞行计划】最大权闭合子图

最大权闭合子图的模板题,就是读入还有输出方案比较恶心_(:з」∠)_原图里的边容量设为∞,源S到正权点连容量为w的边,负权点到汇T连容量为-w的边。最小割的值和最大流的值相等,但它要输出方案,所以先求一遍最大流,然后从原点搜索,能走到(也包括通过反向边走到)的点打一个标记。一条边,如果他的两个端点一个打了标记,一个没打标记,那它就是一个割。与源S相连的点(也就是实验Ei),所连的边不是割的是被选上的

2017-04-03 20:57:37 247

原创 【网络流24题 搭配飞行员】二分图匹配

#include <cstdio>#include <cstring>#include <algorithm>#include <vector>#include <queue>#include <climits>using namespace std;const int MAXN = 100 + 5;//int n, m;struct Node { vector<struct

2017-04-03 19:48:35 260

原创 【BZOJ1026】数位DP

dp[i][j]表示i位数,首位为j的符合要求的数有多少个,嗯和不要62那道题的思路差不多。处理n的时候,因为它要求没有前导0,这个我想了好久,如果再开一维状态记录它前面有没有非0数的话我不是很会写。所以我们先把比n位数小的,比如说1~9中符合要求的,加在答案里,然后是10~99,100~999,这样。然后再把n那个位数级别的,直到n那一位上数的上一个,加到答案中。这些循环都是从1开始的,避免了前导

2017-03-30 10:48:26 245

原创 【HDU2089】数位DP

看了这篇题解,写得超级棒。dp[i][j]表示一共i位,首位为j的数有多少是符合要求的。 用一个k记录上一位。 先把这个数组全都预处理出来,我一开始位数是从0到LEN,但是预处理的时候不是很方便,就换成从1开始了。然后处理比n小的数有多少符合要求的。 先把n每位拆开存在d数组里,要注意它是从低位开始存的,但是后面我们是从高位往低位扫,所以是它的上一位是6要写成d[i + 1] == 6,我这里

2017-03-29 19:27:13 465

原创 2017.3.38打卡 距省选10天

嗯,又是一篇以嗯开头的牢骚。之前去clyz集训,刚回来。大家都好强啊,我根本不能和他们比,说好的好好打暴力也还是弃疗和颓废的时候比较多。回来第二天就来了学校,班里的同学都超欢迎我,我一进门他们还鼓掌庆祝我回来了(:з」∠) 感觉我配不上他们的期望。 回教室上数理化生,其他时间在机房,我一个人一整个机房哦嚯嚯嚯。 今天生物和语文换课了,我错过了一节生物,我还补了生物作业呢qnq你说这省选的节骨眼

2017-03-28 19:42:11 334

原创 【BZOJ1857】三分套三分

看了这位dalao的题解之后写的。三分他离开线段AB和CD的位置。设他在E点离开线段AB最优,可以想象在E点两边离开都不如在E点离开优,所以它是一个单峰的函数,可以用三分求最小值(对这里时间最短是最小值)。我们在查找每一个可能的E点的时候在CD上三分一个F点。因为这道题嗯数据很小,所以复杂度高也是可以接受的。#include <cstdio>#include <algorithm>#includ

2017-03-25 18:03:36 414

原创 【POJ3273】二分

题意是n个数,分成m段,所有段的最大值最小,求那个最大值。二分那个最大值x,然后把n个数相当于往上界为x的袋子里装,看需要装几个袋子,是不是比要求的m大。#include <cstdio>#include <algorithm>#include <climits>const int MAXN = 1e5 + 5;int sum, a[MAXN];int n, m;bool check(int

2017-03-21 13:09:14 334 1

原创 【POJ1064】二分

嗯,二分的题,我是看了Titanium的题解之后做的。二分长度,我一开始是把最短的那一个的长度当做上界,1为下界来二分的,而且还是用总长度直接除二分的值来和k比较【对,我就是傻】然后样例输出2.31,我就急了,它有的可以不全都取,而且还不能长于它,这怎么分啊?认真阅读了一下题解之后,发现上界要设成最长的那个的长度,因为有的太短但是我们可以不选它(k较小)从而得到更优的解。而且是用每一个的长度除二分的

2017-03-19 23:44:35 242

原创 【codevs1380】树形dp

#include <cstdio>#include <algorithm>using namespace std;const int MAXN = 6000 + 5;int n;int dp[MAXN][2];struct Node { struct Edge *lastE; int v; int num; int fa;} N[MAXN];struct Ed

2017-03-10 20:48:34 220

原创 【冒泡排序】树状数组 & 结论

题意是给你一个序列,通过某种规律生成,没有什么特别的规律【大概吧】,让你求经过多少轮冒泡排序它可以变成从小到大有序的。按题意打暴力是30分,它还有个很妙的70分做法,用树状数组。求每个数左边有多少个比它大的数,左边比它大的数最多的那个个数就是需要冒泡排序的轮数。#include <cstdio>#include <iostream>#include <algorithm>using names

2017-03-03 15:49:49 445

原创 【codevs4600 程序自动分析】奇奇怪怪然而并不会做

这道题抄的ilren神犇的代码【这里是链接,ilern神犇的博客超棒的!太强啦!%%%】,自己还是不会写。这道题是个并查集这个能看出来,然后我一想 i, j <= 1e9,不就是int嘛,用什么离散化!然后我就开了一个1e9的数组= =【naive】但是其实空间会炸,时间上也迷得很。。。然后ilren神犇用的unordered_map,内部元素不排序的map,c++11的容器【啊这里不大懂可能不太准

2017-02-05 11:42:49 305

原创 2017.1.28打卡 距NOI184天 cf体验(雾)

祝大家鸡年大吉!米娜新年快乐! 转眼去长乐一中的集训就结束了,我学到的东西其实并不算多,毕竟还有很大一部分时间用在了颓废上 顶多算是入了入门,但还是啥都不会。完蛋我真的是啥都不会,现在连dijkstra和SPFA都打不出来了,倍增LCA不熟,筛法求素数我也不会,还别说Miller-Rabin了。。。。我寒假还得补文化课还得找七大姑八大姨玩,我怕能用在OI上的时间不多。要不然就是文化课补不完【完蛋我看

2017-01-28 23:46:09 460 1

原创 【Educational Codeforces Round 17 A题】有所不同的大暴力

题目要求n的第k小的约数。 于是就爆搜嘛。#include <cstdio>#include <cmath>//#include <iostream>using namespace std;//const long long MAXN = 1e9;//long long a[MAXN];long long n;int cnt = 0;int main(){ int k;

2017-01-26 00:56:57 469

原创 【BZOJ1503】Splay 区间删除 (1)

#include <cstdio>#include <cstring>#include <algorithm>#include <climits>#include <iostream>using namespace std;//const int MAXN = 1e5 + 5;int n, minn;int cnt;struct Splay { struct Node {

2017-01-25 15:18:56 304

原创 【POJ2976】0-1分数规划

#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>using namespace std;const int MAXN = 1000 + 5;const double EPS = 1e-7;struct Node { int a, b; double w; //bool ch

2017-01-19 21:11:05 294

原创 2017.1.17打卡 距NOI195天

话说这是2017年的第一次打卡啊。 从十二月中旬开始集训到现在做了不少题,但是大部分都是抄的板子,就懒得整理出来了= =嗯,这段时间,怎么说呢,接受的东西很多,但是想要完全掌握几乎不可能。有很多东西学起来都想回去学文化课(微笑)。 有进步,但是进步绝对算不上大,有的时候还是控制不地颓废。 学的东西呢,也算是能听懂,但是可能听懂了也没有太大的用,像我现在想想今年暑假夏令营,完全不记得我学会了啥。

2017-01-17 18:28:20 666 1

原创 【POJ 2396】有源汇上下界可行流

1月14号的时候看Fancy学姐的博客学网络流,写的很好,很容易懂。然后就开始学有源汇上下界可行流,方法很简单,就添一条t到s上下界为0, INT_MAX的边然后按无源汇上下界可行流的做就行了【但是具体为什么这样可以我还不是很懂。。。。】于是开始做题,就这道POJ2396。 我简单说下题意:给你一个矩阵,每行的和,每列的和,和一些限制条件,让你输出可行的矩阵。Fancy说的方法是对于每行和每列分别

2017-01-17 17:31:56 373

原创 2016纪事

好快啊,转眼2016年就要过完了。 我超喜欢2016年的其实,2016是4的倍数,念出来也圆圆的特别好听。 2016年入了OI这个大坑,CSDN的ID也算是纪念吧。 大概是今年寒假过后不久,我才开始学OI,学的太晚了,一开始啥都不会,就自己死磕。想当初数组就是不理解,都佩服自己当时到处找课件,上课也不敢颓,机房里都在打游戏我也不敢打(:з」∠)当时真认真。 然后一中考完就去机房,都没歇歇。

2016-12-27 14:50:29 325

原创 2016.12.25打卡 距NOI218天

转眼又过去这么多天。 从这个月20号又开始停课了,弃文化课于不顾。 这几天。。。怎么说呢。。。颓颓废废。。。。(:з」∠) 第一天学了Tarjan,抄了板子,但我现在还不大会。。。。去清北明明已经听了一遍了,但是它的思想还是迷迷糊糊。 第二三天复习了BST,学了Splay,转来转去的最后好像差不多懂了,自己大概(大概!)也能写出来(吧)。 第四天是最大流,好像还可以(好像)。然后今天是费用

2016-12-25 21:17:38 233

原创 【UVa455】周期串

#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#include <string>using namespace std;int sum[30];char pas[85];int main(){ int T; scanf("%d", &T); while (T--

2016-12-14 18:43:31 356

原创 2016.12.14 打卡 距NOI229天

恩,195,省二,到也就这个水平。一开始还有点出乎我的意料,但要是之前再少颓一点就好了,要是再多努力一点就好了,就不会现在天天因为文化课发愁,机房想来但是要写作业,就能够一心一意做我想做的事情了。但是还不晚吧,我今年肯定会去参加省选,可是我一个二等蒟蒻就算去了也选不上,所以文化课也不能落下呀。距NOI229天挂在上面好傻啊,就跟我能去似的。大概我看那么多动漫就是教我相信奇迹, 大概我学OI就是让我

2016-12-14 18:34:43 251 2

空空如也

空空如也

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

TA关注的人

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