自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

308宿舍的鶸

一只鶸的博客

  • 博客(60)
  • 收藏
  • 关注

原创 BUGKU_WEB_never give up

进去以后发现只有一行字符串’never never never give up !!!‘查看源码发现有一行<--1p.html-->于是乎访问120.24.86.145:8006/test/1p.html,结果跳转到了www.bugku.com百度了解到可以使用view-source:url的方式查看网页源码,遂访问view-source:120.24.86.145:800...

2018-08-12 14:19:28 1146

原创 BUGKU_WEB_备份是个好习惯

打开后发现是一串字符串,我:??????按照题目意思("备份"是个好习惯),大概是让我们找到一个.bak文件使用了一款源码泄露工具,结果如下发现了一个.bak文件,访问一下得到以下代码分析一下代码,首先第11行的strstr()函数,返回url中'?'加上’?‘之后的字符串,之后第12行的substr()函数,返回从$str[1]开始的字符串,即去掉'?',再是第13行st...

2018-08-12 05:05:32 1421 1

原创 BUGKU_WEB_SQL注入1

题目想通过过滤关键字的方式来阻止sql注入,之前学习php的时候了解到由于php基于c,所以结束标志同样为空字符(如果没记错的话),于是使用%00将关键字截断。flag应该就在sql3里了得到flag...

2018-08-12 02:48:38 373

原创 BUGKU_WEB_SQL测试

加上'后仍然显示正常,应该是‘被转义了,遂尝试宽字节注入,成功报错接着就可以提取数据库了flag应该就在sql5这个数据库里了 得到flag

2018-08-12 02:22:16 214

原创 BUGKU_WEB_XSS

 直接传入<script>alert(_key_)</script>后发现尖括号被转义。在i春秋看视频的时候也遇到过这种问题,将<替换为\u003c,>替换为\u003e即可绕过于是我们就可以构造payload为?id=\u003cscript\u003ealert(_key_)\u003c/script\u003e上传后果然获得了fla...

2018-08-12 02:04:40 339

原创 洛谷OJ:P3119 [USACO15JAN]草鉴定Grass Cownoisseur(强连通分量+DAG求最长路)

思路:先缩点处理,之后就比较难了,因为要选一条边逆向走,总不能用枚举的方法来做把,考虑到缩点后的图必然是一个DAG(有向无环图),于是我们只需要考虑两类点:第一类点:能够从草场1所在的点到达的点第二类点:能够从所在点到达草场1的点那么我们只要求出从草场1所在点走到每个第一类点的最大收益Ai和从从二类点所在点走到一类点的最大收益Bi即可求出答案前者是很容易求的,但是后者怎么求呢?很简单,只需要将图反...

2018-05-01 17:54:57 347

原创 洛谷OJ:P2341 [HAOI2006]受欢迎的牛(强连通分量-缩点)

分析:如果一群奶牛在一个强连通分量中,那么它们都是相互喜欢的,所以先用tarjan缩点,那么要怎么才能找到被所有奶牛喜欢的奶牛群呢?这里我们用到一个结论在有向无环图中,如果有且仅有一个点的出度为0 (没有指向其他点的边),那么该点可以被所有点遍历到;反之,该图中没有可以被所有点遍历到的点并且,在有向图无环中,如果一个点可以被所有点遍历到,那么这个点的出度为0所以我们只要在缩点后找出唯一的出度为0的...

2018-05-01 16:00:26 322

原创 洛谷OJ:P1345 [USACO5.4]奶牛的电信Telecowmunication(最小割)

分析:求最少需要去掉几个点让源点无法到达汇点,于是就成了一个最小割点问题,我们将一个点拆分成两个点,设这个点为i,那么将i拆分成i和i+n这两个点,连一条i到i+n的有向边,边权为1,将i的入边与i连接,i的出边变为i+n的出边,权值均为无穷大,之后直接求最大流即为最小割点的答案了#include <iostream>#include <cstring>#include...

2018-05-01 15:11:56 269

原创 洛谷OJ:P2055 [ZJOI2009]假期的宿舍(最大流)

分析:一道求二分图最大匹配的题,就是建模比较绕其他没什么,首先我们要清楚人和床是需要分开的,所有需要2*n个结点,我们把前1~n结点当成人,n+1~2*n结点当成床,那么问题就简单了,我们只需要将床与汇点连接,需要床的人与源点连接,再将人与自己的床以及认识的人的床连接即可,最后求出的最大流如果与需要床的人数相同的话就可以使每个人都有床睡#include <iostream>#incl...

2018-05-01 14:11:55 255

原创 洛谷OJ:P1726 上白泽慧音(强连通分量水题)

分析:给定一个有向图,求出最大的强连通分量#include <iostream>#include <cstdio>#include <vector>#define Min(a,b) a<b?a:b#define Max(a,b) a>b?a:busing namespace std;const int maxn = 1e5+10;/*...

2018-05-01 12:55:26 244

原创 洛谷OJ:P1991 无线通讯网

分析:根据"任意两个配备了一条卫星电话线路的哨所(两边都ᤕ有卫星电话)均可以通话,无论他们相距多远"和可安装的卫星电话的哨所数为s可知只需要将这些哨所连城s个联通块即可,所以只需要贪心将当前剩余最短的边加入生成树并记录生成树中最长的边至剩余s个联通块即可得出答案。#include <algorithm>#include <iostream>#include <ve...

2018-04-24 21:27:09 212

原创 洛谷OJ: P2921 [USACO08DEC]在农场万圣节Trick or Treat on the Farm(强连通分量)

思路:求强连通分量的模版题, 答案就是结点个数大于1的强连通分量的个数#include <iostream>#include <vector>#include <cstdio>#include <stack>#define sz size()#define Min(a,b) a<b?a:busing namespace std;...

2018-04-22 15:31:15 382

原创 记强连通分量的学习

第一部分------求强连通分量1.强连通分量的概念"有向图强连通分量:在有向图G中,如果两个顶点vi,vj间(vi>vj)有一条从vi到vj的有向路径,同时还有一条从vj到vi的有向路径,则称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。有向图的极大强连通子图,称为强连通分量(strongly connected compon...

2018-04-22 00:22:18 307

原创 洛谷OJ: P2661 信息传递

思路:看完题目思考了一会后就想到判环即可,统计记录环的长度。#include <iostream>#include <cstdio>using namespace std;const int maxn = 200000+10;int par[maxn], dis[maxn];int n, temp, ans = 0x3f3f3f3f;void init(in...

2018-04-19 19:06:37 266

原创 洛谷OJ: P1330 封锁阳光大学

今天C语言课写完实验报告就开始做题,然后只想了思路,没有写代码,下午物理实验课回来把代码写上再修改了一下就AC了。思路: 用dfs将图染色,只需染两种颜色,如果遇到已经染色过的点,判断该点的色彩与领边点的色彩是否一样,如果一样的话那么就输出"Impossible",染色的同时统计每种颜色的数量,较小的那个数量即为答案,但是第一次交的时候我没有想到可以分成被多个图,于是统计的是全图的颜色,正确的做法...

2018-04-19 18:55:06 260

原创 记2018年第九届蓝桥杯省赛

今天不想用脑所以就水一水博客吧...今年的蓝桥杯出的题目和之前我准备的可太不一样了,我以为又是一堆的搜索题,暴力杯可还行,万万没想到这和我想的好像不太一样啊,反正就是硬着头皮做...4.1的愚人杯可还行,早早的就和我华哥一起去考场了,一进去就开始敲模板,素数筛,并查集,线段树,gcd,exgcd,Dij,Krusal,Ford-Folkerson....反正最后也没用上,不过写完也没那么紧张了,就...

2018-04-19 01:55:46 1707 2

原创 2018年第九届蓝桥杯【C++省赛B组】【第三题:乘积尾零】

第三题标题:乘积尾零如下的10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零?5650 4542 3554 473 946 4114 3871 9073 90 4329 2758 7949 6113 5659 5245 7432 3051 4434 6704 3594 9937 1173 6866 3397 4759 7557 3070 2287 1453 9899 1486 572...

2018-04-19 01:25:46 932

原创 2018年第九届蓝桥杯【C++省赛B组】【第二题:明码】

第二题标题:明码汉字的字形存在于字库中,即便在今天,16点阵的字库也仍然使用广泛。16点阵的字库把每个汉字看成是16x16个像素信息。并把这些信息记录在字节中。一个字节可以存储8位信息,用32个字节就可以存一个汉字的字形了。把每个字节转为2进制表示,1表示墨迹,0表示底色。每行2个字节, 一共16行,布局是:第1字节,第2字节第3字节,第4字节....第31字节, 第32字节这道题目是给你一段多个...

2018-04-19 01:20:33 388

原创 2018年第九届蓝桥杯【C++省赛B组】【第一题:第几天】

2000年的1月1日,是那一年的第1天。那么,2000年的5月4日,是那一年的第几天?注意:需要提交的是一个整数,不要填写任何多余内容。分析:用Excel计算即可答案:125...

2018-04-19 01:15:30 1088 2

原创 校OJ: P1060 第四届程序设计大赛 勇者斗恶龙

寒假的时候做了一些搜索题,顺便就把这题做了,回学校一交就AC了#include <iostream>using namespace std;const int maxn = 1000+10;int n, m, l;int book[maxn], damage[maxn], ci[maxn], ans = 0x3f3f3f3f;bool isend[maxn], isgo;...

2018-04-18 16:43:50 826

原创 洛谷OJ:P1135 奇怪的电梯

这题有三种解法,1.搜索 2.最短路 3.DP1.直接写个DFS就行了#include <iostream>#include <cstdio>using namespace std;const int maxn = 200+10, inf = 0x3f3f3f3f;int k[maxn], ans = inf;bool vis[maxn];int n, a, ...

2018-04-18 16:33:10 338

原创 洛谷OJ: P1417 烹调方案

思路: 分析后就是一道01背包题,但如果按普通的01背包题直接进行DP的话只能拿到35分,我们来分析一下为什么。举个例子,如果先使用了第一个物品,那么第二个物品的价值就会随之减小,但如果正确答案是先选第二个物品的后选第一个物品的话,那么得到的结果肯定就是错的,那么我们该如何选取物品呢?先将例子种式子列出来ans1 = a1-b1*(p+c1)+a2-b2*(p+c1+c2)ans2 = a2-b2...

2018-04-17 23:54:14 265

原创 洛谷OJ: P1373 小a和uim之大逃离

思路:首先给小uim改个名,叫他小b好了,那么我们定义dp[i][j][k][0/1]为,在i,j点,小a小b的魔瓶差值为k,0代表小a吸收了这一格的魔液,1则是小b吸收了这一格的魔液,有几种方法到达这种状态。这个k坑了我好久。。由于小a与小b两者魔瓶的差值可以为k,可是当k模k的时候得数却是0,所以我们得让k加1,开始数组开小了也WA了好几次。通过定义的dp数组我们可以得到递推式1.dp[i][...

2018-04-16 23:52:47 197

原创 洛谷OJ: P2347 砝码称重

思路:一道多重背包题,之前学习背包问题的时候了解到多重背包可以转换成01背包来做,但是可以通过二进制的思想来优化它,比如13可以拆分成2^0,2^1,2^2,6,这四个数组合可以得到1~13之间的任意整数,那么就把13个物品成功转化为了4个物品,那么这题也是一样的,将a1的个数拆分为2^0,2^1,...,之后当作一道01背包来做#include <iostream>#include...

2018-04-16 23:30:21 528

原创 洛谷OJ: P1156 垃圾陷阱(DP)

昨天五点才睡导致今天状态太差了,所以三个小时才勉强做出来这题,哎,还是得早睡早起呀思路:首先来分析一下一个时刻有几种状态,1.时间 2.生命值 3.垃圾高度 4.剩余垃圾数,难道要开一个三维数组来记录吗?当然是不可能的,通过思考,我们发现时间和剩余垃圾数是有关联的,因为题目告诉我们垃圾是按顺序丢的,所以可以通过记录剩余垃圾数来得到时间,那么我们只需要记录三个状态,也就只需要开一个二维数组,首先我们...

2018-04-16 23:20:39 285

原创 洛谷OJ: P1220 关路灯(DP)

刚看完题目的时候感觉这很容易嘛,不就向左向右两种转移方式,于是直接就写出了动态转移方程,dp[i][j]表示关闭i~j区间内所有灯的最小消耗,dp[i][j] = min{dp[i-1][j]+dis(i,i-1)*w(i-1,j), dp[i][j+1]+dis(j+1,j)*w(i-1,j)}。后来写出来代码发现不对,思考了一会以后发现没有考虑此时人的位置在哪里,需要多加一种状态。之后得到了如...

2018-04-16 03:08:14 302

原创 洛谷OJ: P1005 矩阵取数游戏

今天因为高数模拟考没怎么做题,就睡前做了这么一题,舍友也开始一起在洛谷刷题了,很开心,但是高数只考了63,很不开心,心情复杂。思路:每一行都是独立的选择,不要因为有多行而被带到错误的思考方向,所以我们开始分析独立的一行数据,那么只有两种选择,1.选择最开头的数字 2.选择最末尾的数字, 而每次增加的分数都是2^i*选择的数字,那么我们稍加思考就可以得到状态转移方程啦。首先,我们定义dp[i][j]...

2018-04-16 01:46:34 373 1

原创 2017第八届蓝桥杯决赛---36进制

标题:36进制对于16进制,我们使用字母A-F来表示10及以上的数字。如法炮制,一直用到字母Z,就可以表示36进制。36进制中,A表示10,Z表示35,AA表示370你能算出 MANY 表示的数字用10进制表示是多少吗?请提交一个整数,不要填写任何多余的内容(比如,说明文字)简单的进制转换#include <iostream>#include <string>#incl...

2018-04-15 16:19:28 296

原创 洛谷OJ: P1006 传纸条

思路:开始看到这题的时候无从下手,于是就在纸上试着画出路线,看看有没有什么规律,画着画着发现在画完路线的图上每一条从右上到左下的斜线都只用到了两个同学,并且在斜线上一条线路永远在另一条线路的右上方,因为做n皇后问题的时候有利用过这种斜线,于是就想以这个作为突破口写出状态转移方程,思考了有一个小时吧...最后才得到了状态转移方程首先我们定义dp[k][i][j]的意义为横纵坐标为k的斜线上, 在下面...

2018-04-15 04:50:04 417

原创 洛谷OJ: P1387 最大正方形(DP)

思路,只有当↖←↑这三个方向都是1时才能组成正方体,所以就能直接得到状态转移方程啦dp[i][j] = min{dp[i-1][j-1], dp[i][j-1], dp[i-1][j]} + 1 (dp[i][j] != 0)/** * 题目: 洛谷OJ P1387 最大正方形 * 题型: DP **/#include <cstdio>#include <iostrea...

2018-04-15 03:10:07 449

原创 洛谷OJ: P1508 Likecloud-吃、吃、吃

思路:一题非常直观的DP,直接就可以列出动态转移方程dp[i][j] = dp[i][j] + max{dp[i-1][j-1], dp[i-1][j], dp[i-1][j+1]};即向左前方走,向前走,向右前方走说来和校OJ那题走运的zzz简直一模一样呢,不过这题有个坑点就是"每组数据的出发点都是最后一行的中间位置的下方!",所以最后的答案应该是最下面一行最中间的三格中最大的那个值/** *...

2018-04-15 02:47:37 290

原创 洛谷OJ:P1855 榨取kkksc03(DP)

思路:还是一道01背包,不过有了两个属性而已/** * 题目: 洛谷OJ:P1855 榨取kkksc03 * 题型: DP **/#include <cstdio>#include <cstring>#include <iostream>using namespace std;const int maxn = 200+10;int dp[ma...

2018-04-15 02:15:28 254

原创 洛谷OJ: P1140 相似基因(DP)

思路:仍然是一道简单的DP,首先我们来分析一下有几种策略可以选择1.令第一条链的碱基与空碱基配对2.令第二条链的碱基与空碱基配对3.令两条链的碱基相互配对那么我们很容易就能够得到状态转移方程了,dp[i][j]表示第一条链的1~i部分与第二条链的1~j部分的最大匹配值dp[i][j] = max{dp[i][j], dp[i-1][j]+a[i]与空碱基的匹配值, dp[i][j-1]+b[j]与...

2018-04-15 01:55:55 582

原创 洛谷OJ:P1880 [NOI1995]石子合并(DP)

思路:首先来分析一下题目,“在一个圆形圆形操场”告诉我们石头是按环状摆放的,也就是说头尾也可以合并,这个容易解决,我们将数组扩大一倍即可。之后思考动态转移方程怎么写,合并一组石子首先要将这一组石子中的每一堆石子两两合并,那么我们很容易就可以得到动态转移方程Problem1:dp[i][j] = min{k|dp[i][j], dp[i][k]+dp[k+1][j]+w(i, j)}Problem2...

2018-04-15 01:10:06 320

原创 洛谷OJ: P1091 合唱队形(LIS)

思路:求出以每个人结尾的最长上升子序列以及以每个人开头的最长下降子序列即可/** * 题目: 洛谷OJ P1091 合唱队形 * 题型: DP **/#include <cstdio>#include <iostream>using namespace std;const int maxn = 100+10;int dp1[maxn], dp2[maxn]...

2018-04-14 19:14:54 294

原创 洛谷OJ: P1020 导弹拦截(LIS)

思路:Problem1:  第一个问题就是求最长不上升子序列长度Problem2: 第二个问题看上去有些难, 但是通过组合数学中的"Dilworth定理"可以知道"最少的下降序列个数就等于整个序列最长上升子序列的长度", 所以第二个问题就是求最长上升子序列长度/** * 题目: 洛谷OJ P1020 导弹拦截 * 题型: DP **/#include <cstdio>#inc...

2018-04-14 17:27:41 401

原创 洛谷OJ: P1064 金明的预算方案(01背包问题)

思路: 这是一道01背包问题, 只有选与不选的这两种情况, 但是这题物品的属性比起普通的01背包只有重量和价值以外多了主件/附件这一属性, 再看题目中"每个主件可以有0个、1个或2个附件"这一句话,一种物品的所有选择情况只有:1.只选择主件  2.选择主件+附件1  3.只选择主件和附件2  4.选择主件和所有附件, 那么我们很容易就能得到状态转移方程dp[i]= max{dp[i], dp[i-...

2018-04-14 16:20:47 317

原创 洛谷OJ: P1048 采药 (01背包问题)

分析: 动态转移方程dp[i] = max{dp[i], dp[i-w[i]] - v[i]}/** * 题目: 洛谷OJ P1048 采药 * 题型: 01背包 **/#include <cstdio>#include <iostream>using namespace std;const int maxn = 1000+10;int N, W, d...

2018-04-14 12:54:59 454

原创 洛谷OJ: P1616 疯狂的采药(完全背包问题)

分析: 和01背包的不同之处就在于第二个循环,01背包是从后向前推,无法从后面的状态中获得收益,但是完全背包可以选很多个,就可以从前向后推,进而从之前的状态中获取收益,状态转移方程dp[i] = max{dp[i], dp[i-w[i]] + v[i]},这一题的w是时间t#include <cstdio>#include <iostream>using namespa...

2018-04-14 12:44:16 405

原创 洛谷OJ: P1049装箱问题(01背包问题)

思路:其实还是求背包最多能装多少东西,状态转移方程dp[i] = max{dp[i], dp[i-w[j] + v[j]}, 在这一题中w和v是相同的#include <cstdio>#include <iostream>using namespace std;const int maxn = 20000+10;int N, W, dp[maxn], temp;...

2018-04-14 12:36:16 351

空空如也

空空如也

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

TA关注的人

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