自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

beihai2013

生命是一个巨大的游乐场,或者空虚无比。

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

原创 [论文笔记]ACL2021 Locate and Label: A Two-stage Identifier fo Nested Named Entity Recognition

2022/2/10 ACL2021 Locate and Label: A Two-stage Identifier fo Nested Named Entity Recognition懒得粘图了,参考我的知乎https://zhuanlan.zhihu.com/p/4663859351 摘要&介绍当前的NER任务只能应对flat实体,不能应对嵌套(nested)实体。而能应对嵌套实体的模型,也有着高额计算指出、忽略边界信息、文段(span)利用率低的问题。针对以上困难,文章提出了一个2阶段

2022-02-11 21:38:12 701

原创 CTF-Web-XSS

XSS靶机level1<!DOCTYPE html><!--STATUS OK--><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"><script>## 若执行了alert,则执行以下语句window.alert = function() { confirm("完成的不错!"); window.loc

2021-02-03 16:34:39 703

原创 CTF-Web-SQL注入

题目目录参考https://ca01h.top/Web_security/ctf_writeup/8.buuctf%E5%88%B7%E9%A2%98%E2%80%94%E2%80%94XSS/随便注题目来源:强网杯2019题目链接:https://buuoj.cn/challenges#[%E5%BC%BA%E7%BD%91%E6%9D%AF%202019]%E9%9A%8F%E4%BE%BF%E6%B3%A8考察:堆叠注入,sql的show语句,sql的预编译,sql修改表参考:https:/

2021-01-26 16:50:38 3011

原创 sqli

来源:NCTF2019参考:https://guokeya.github.io/post/nctf2019sqliregexp-zhu/首先进入页面,是一个登录框fuzz一下,发现绝大多数的关键字都过滤了此处还可以访问robots.txt,进而访问hint.txt,得到过滤黑名单根据wp,regexp没过滤,故可构造基于regexp的报错注入语句import requestsimport timefrom urllib import parseimport stringurl="http

2021-01-25 14:53:15 123

原创 hack world

来源:[CISCN2019 华北赛区 Day2 Web1]链接:https://buuoj.cn/challenges#[CISCN2019%20%E5%8D%8E%E5%8C%97%E8%B5%9B%E5%8C%BA%20Day2%20Web1]Hack%20World参考:https://ca01h.top/Web_security/ctf_writeup/7.buuctf%E5%88%B7%E9%A2%98%E2%80%94%E2%80%94SQL%E6%B3%A8%E5%85%A5/#CISCN

2021-01-21 10:17:16 236

原创 随便注

题目来源:强网杯2019题目链接:https://buuoj.cn/challenges#[%E5%BC%BA%E7%BD%91%E6%9D%AF%202019]%E9%9A%8F%E4%BE%BF%E6%B3%A8考察:堆叠注入,sql的show语句,sql的预编译,sql修改表参考:https://www.cnblogs.com/chalan630/p/12583667.html,https://ca01h.top/Web_security/ctf_writeup/7.buuctf%E5%88%B

2021-01-21 10:16:41 75

原创 CyberPunk

题目来源:[CISCN2019 华北赛区 Day1 Web5]链接:https://buuoj.cn/challenges#[CISCN2019%20%E5%8D%8E%E5%8C%97%E8%B5%9B%E5%8C%BA%20Day1%20Web5]CyberPunk考察:php伪协议,xpath报错注入,load_file参考:https://www.cnblogs.com/wangtanzhi/p/12318551.html第一步首先进入页面,index界面可以用get的方式提交file参数

2021-01-21 10:15:37 213

原创 easy_serialize_php

easy_serialize_php考察:php代码审计,php序列化打开页面,打开view-source,可以看到源代码<?php$function = @$_GET['f'];function filter($img){ $filter_arr = array('php','flag','php5','php4','fl1g'); $filter = '/'.implode('|',$filter_arr).'/i'; return preg_replace(

2021-01-19 11:50:56 426

原创 攻防世界 web confusion1

Confusion1考察:SSTI参考https://www.cnblogs.com/zhengna/p/13964561.html进入网页,发现除了主页面,login和register都登不进去。显示apache2.4.10,查询是否有相关可利用漏洞,失败。根据wp,login.php和register.php下均有提示flag位置(!!!一定要查看源码,不能访问的页面也要查看在URL上测试http://220.249.52.134:45205/index.php/{{ 1+1}}返回

2021-01-18 17:27:54 136

原创 攻防世界 web高级 leaking

考察:node.js逃逸参考:https://blog.csdn.net/weixin_44037296/article/details/112387663https://blog.csdn.net/weixin_46676743/article/details/112669105不知道咋说,直接抄源码# encoding=utf-8import requestsimport timeurl = 'http://220.249.52.134:41148/?data=Buffer(500)'

2021-01-18 16:52:13 670 4

转载 dig参数解释

转自http://luodw.cc/2015/12/27/dns03/:charles@charles-Lenovo:~/mydir/Hexo/source/_posts$ dig baidu.com; <<>> DiG 9.9.5-3ubuntu0.6-Ubuntu <<>> baidu.comdig这个程序的版本号和要查询的域名;; global options: +cmd表示可以在命令后

2017-07-14 10:00:12 1826

转载 mac 安装MySQL-python

https://www.zhihu.com/question/30963225 搬一下知乎大佬的答案,因为百度出来的实在坑。。。 两行命令 brew install mysql-connector-c pip install MySQL-python

2017-04-14 10:56:31 1436

原创 CF 707C 公式

题意: 给出直角三角形的一条边,求另外两条边。无解输出-1. 思路: 1、2无解。 n为偶数,(n * n / 4 - 1) ^ 2 + n * n = (n * n / 4 + 1) ^2 n为奇数,((n * n - 1) / 2) ^ 2 + n * n = ((n * n + 1) / 2) ^ 2题解说他上网查出来的2333 代码: #

2016-08-31 21:42:22 1080

原创 SRM 697 div2 550 推公式

题意: 给50个数ai,这些数都是2幂次数,且这些数都大于1。现在对于P = mul(ai), 是否存在bi,对于每个bi有ai*bi整除P。 思路: 化简之后就变成了S = sum(ai的幂次),是否存在bi使得(bi*ai的幂次)被S整除。 赛中的时候想了高斯消元,发现并不能做,因为系数比较多而且无法控制ai的幂次必须大于等于1。 实际上这是一道公式题。

2016-08-29 10:54:49 510

原创 Codeforces 706E 十字链表(dancing link)

Codeforces 706E题意: 给一个1000*1000的矩阵,有1000次操作,每次可以交换矩阵的两个子矩阵,保证子矩阵不重叠。输出最后的矩阵。 思路: 十字链表的版题,可以用dancing link的类似数组实现。 具体方法为,先把所有二维坐标转化为一维坐标。开两个数组ri[i],down[i]。分别表示对于某一维下标为i的矩阵单元格,它右边和下边的格子下标

2016-08-13 21:36:19 787

原创 Codeforces 703D 树状数组

Codeforces 703D 题意: 给1e6长度的区间,每个单位代表一个数。 给1e6个询问,每次问区间内出现次数为偶数次的数异或和。 思路: 赛中的时候想莫队水过去,结果pretest都没过233 正解是树状数组。首先假设是奇数次的话,就是一个简单前缀和。现在偶数次,有一个处理技巧就是记录这个区间出现过的数字的异或和。然后就是明显的树状数组统计题。

2016-08-06 21:24:24 513

原创 Codeforces 703C 思维or计算几何

Codeforces 703C题意: 给一个凸包,凸包有向x轴负向的恒定速度v。 现在某人从(0,0)出发,以最大速度不超过u的变速运动运动到(0,w) 问最少用时到达,且不碰到凸包 思路: 如果会直线与凸包相交的判定的话,就可以直接二分了。 赛中使用了分类讨论,挂了。以相对运动来说,相当于人从x轴上某一点出发。想复杂,错误的认为人先到凸包上某一点

2016-08-06 09:51:47 414

原创 HDU 3652 数位DP

HDU 3652 数位DP。dp[i][j][k][l],表示第i位,之前讨论数位j,有多少余数为k,是否已经遇到13为l 一种更优的设计方法为dp[i][j][k]。i为数位,j为余数,k表示三种状态,分别是前一个数不是1、前一个数是1、已经遇到13.#include <cstdio>#include <cstring>#include <cstdlib>#include <cmath>

2016-08-03 21:14:11 251

原创 HDU 3555 数位DP

HDU 3555 又是一道数位DP的题。dp[i][j]表示当前为i位,前一位为j的值。 与HDU 2089类似,发现只要修改转移方程,实现起来是有规律可循的。#include <cstdio>#include <cstring>#include <cstdlib>#include <cmath>#include <string>#include <algorithm>#includ

2016-08-03 20:42:46 281

原创 HDU 2089 数位DP

HDU 2089 数字中不能出现’4’和’62’,问在某个区间中这样的数字有多少个。 学下数位DP,抄了一个大哥的代码。 dp[i][j]表示当前讨论的是数字十进制表示的第i位,并且i+1位为j的总答案数。 网上还有一种表示方法是dp[i][j],j为0、1,表示前一位是否为6.#include <cstdio>#include <cstring>#include <cstdlib>#

2016-08-03 20:09:36 243

原创 2016多校第五场 1001 HDU 5781 DP

HDU 5781 DP题意: 从银行取钱,钱数为随机数[0,w]。如果当前取钱数大于真实的钱数,就会报错。报错次数有限制,求取钱次数的期望值。 思路: 首先用二分试,发现第三个样例过不了。 赛中的时候不是主要负责的题,给了一个dp[i][j]的公式后就没管了。 然而这样的dp过程是10^9的。 实际上,本题是有trick的。假设每次都按二分取,发现最多15次不合法的取法,就可以把

2016-08-03 11:22:02 690

原创 2016多校第三场 1004 HDU 5755 高斯消元

HDU 5744题目大致意思: 每个格子有一个数值,数值范围[0,2]。现在有一种操作,使得这个格子值变成(v+2)%3,周围四个格子值变为(v+1)%3。要求给出一种合法的操作方案。题解: 列出方程,发现是带模的n*m个变元的n*m个方程,于是用高斯消元求解(赛中感觉状态十分之多就想网络流去了233)关于高斯消元的步骤: 1.通过初等行变换变为阶梯矩阵 变量设

2016-07-27 20:26:34 524

原创 12年成都 E 贪心+KMP HDU 4468

12年成都 E 贪心+KMP HDU 4468赛中的时候过的人不多,也没有什么具体的思路。发现问题可以转化为最短后缀,使得前面的字符串都是它的子串。甚至想着能不能枚举后缀,O(1)或者log的查询。然后就走入死角了。实际上还是字符串的题目做的不够多。如果是倒序遍历的话,那查询的字符串操作也应该是倒序的,不存在一个倒序一个正序之说。再者,要检测之前是否为其子串,最坏情况下需要把整个字符串都遍历一遍,

2016-06-22 10:56:05 441

原创 12年杭州 D 二维树状数组+离散化 HDU 4456

12年杭州 D赛中的时候感觉数组开不下,并没有什么很好的思路 实际上,离散化每个需要操作的点之后,这就变成了一个简单的二维树状数组题目。 关于离散化的操作,由于服务器内存卡的比较死,试了几种姿势后都不行,还是采用网上的线性膜的方法。按理说这种方法可以构造出极端数据卡掉的,但是过了失分点: 1. 没有想到二维线树状数组离散化 2. 离散化的离散方法,离散化的数组大小。 学习点

2016-06-18 18:09:43 860

原创 Codeforces Round 355 div2 (E abandoned)677ABCD

Codeforces Round 355 div2 (E abandoned) 通过数: 3 前三题比较正常,D用了很奇怪的算法强行符合的复杂度,E是十分恶心的模拟由于用了比较笨拙的办法,实在是不想改了…… 关于D,赛中的时候考虑可能出现边过多的情况,这时候没法处理。所以,标程算法给出了这样的答案:边过多时,用bfs搜索全图;边少时,用两两之间求曼哈顿距离更新。可以证明这样的复杂度是O(n*m

2016-06-15 15:08:20 519

原创 11年成都 A 博弈论+记忆化搜索 HDU 4111

博弈 赛中的时候第一反应是结论题,但是跑了几个样例没跑出来 于是试着从算法方面入手。 大概猜测和堆数与石子数的总和有关,但是第一个和第三个样例告诉我应该不是简单的求和关系。 可能是记忆化搜索,但是状态过多实在不知道如何存储,然后就弃疗了……题解是这样的 发现如果当前没有石子是一个,且(石子堆数 + 石子总数 - 1)为偶数,则是必胜状态。 这是整个算法的基础。 但是现在有一些石子堆只有

2016-06-14 18:54:20 295

原创 11年福州 G 迭代加深+强剪枝 HDU 4127

刚开始想了一种奇怪的方法去贪心,因为不是正确的就不贴了,然后T了……题解写的是IDA*,其实是迭代加深和剪枝。剪枝的地方有几处:1.估价函数剪枝,还剩几种颜色估计几步2.无效剪枝,如果当前这个颜色已经没有就不用走这一步了整体的思路是这样的把原图按照颜色做一个连通块,然后原图可以分为三个部分:和(1,1)连通的点、和(1,1)连通的点相邻的点、其他点那么,每次只在这些和(1,1)连通点相邻

2016-06-13 15:32:02 268

原创 11年福州 F 次小生成树变形 树形DP

单独练习的时候,做到最小生成树处理出来后,就不知道怎么处理了。关键是两个子树间的距离,不能在有效的时间复杂度内解决。实际上,对于一个最小生成树,两个子树间距离可以用dp来做。假设从root开始向下搜索,那么dp[root][u]表示root到u和以u为根节点的子树的最小距离,此处距离即是取的不在最小生成树中的原图的边。那么很容易发现是一个简单的树形DP过程。然后,如果对于两个子树呢?两个子树是

2016-06-13 09:04:11 230

原创 11年福州 B 单调栈 HDU 4122

/* 除去数组开小RE了一发,基本1A了 眼泪都流出来了首先转换一下日期成小时,然后用单调栈做找到T时间内合法的最小代价做月饼时间有人说,这个每次往后走一个日期,价值都会变啊所以稍微做这么一个处理,就是单调栈里存的是(cost[i] - 当前小时数 * S)这样就保证了单调栈里的大小不变且可以还原还原的方法取出来的时候,加上(当前小时数*S)失分点: 无学习地方

2016-06-12 10:05:52 257

原创 11年福州 E

/* 这题卡内存实在是太狗了…… 思路很明确,就是几个算法杂糅在一起刚开始粗糙的思路是建一个二叉搜索树,再按照中序遍历把树的点存一遍,最后跑一遍KMP然而 二叉搜索树用的set和数组revg,revg[i]存储对于值为i的节点下标 中序遍历用dfs做本题卡内存,正确的做法应该是 二叉搜索树用的map,因为map是有序且按照第一维升序排列,故可以直接替换

2016-06-12 09:02:11 251

原创 POJ 2499 第k小最短路

/* 简单A*一直搜就可以 坑点是s=t时,假设k=1,不能直接返回0,因为要求必须走过路程 */#include <cstdio>#include <cstring>#include <cstdlib>#include <cmath>#include <string>#include <algorithm>#include <iostream>#include

2016-06-09 17:47:19 354

原创 Codeforces Round356 div2 680AB 679ABC

Codeforces Round356 div2 通过数: 3 线上的时候卡在第四题,由于答案的大小没有估计好(猜测最坏情况10^5个),所以没有猜测出相应算法。 返回去看第三题,发现十分简单WA了一发,格式错误一发过了。 看到第五题的时候大概还剩20分钟,代码能力欠缺没调出来。 a:#include <bits/stdc++.h>using namespace std;int a[1

2016-06-09 12:54:20 429

原创 USACO Section 2.4

USACO Section 2.4 The Tamworth Two/* ID: beihai2013 TASK: ttwo LANG: C++*//* 刚开始想复杂了,想通过记录数组然后求牛或者人经过此点的时间戳来求周期,然后求一个通项 后面发现这样的讨论不仅复杂,而且容易出现十分多的情况 然后仔细一想,假设是有人和牛周期的话,他们分别得周期不

2016-06-08 20:16:09 220

原创 USACO Section 2.3

USACO Section 2.3 The Longest Prefix/* ID: beihai2013 TASK: prefix LANG: C++*//* 考虑到需要匹配前缀的长度和字符串的总长度,我们对需要匹配的前缀进行HASH 然后就O(n*10)的简单判断,如果当前hash值在匹配前缀的字符串中HASH值存在的话,说明匹配成功*/#inc

2016-06-07 20:37:58 248

原创 USACO Section 2.2

USACO Section 2.2 Preface Numbering/* ID: beihai2013 TASK: preface LANG: C++*//*每次取最大的合法数的组合删去,类似于二进制表示*/#include <bits/stdc++.h>using namespace std;#define LL long longconst int MAX

2016-06-07 08:03:24 225

原创 USACO Section 2.1

Section 2.1 The Castle:/* ID: beihai2013 TASK: castle LANG: C++*//*简单搜索凑出所有连通快,四进制表示四个方向也是写的很熟练的那种了值得注意的是farthest是最靠近的意思*/#include <bits/stdc++.h>using namespace std;const int MAXN

2016-06-03 10:52:21 236

原创 USACO Section 1.5

USACO Section 1.5 Number Triangles/* ID: beihai2013 TASK: numtri LANG: C++*//*简单DP*/#include <bits/stdc++.h>using namespace std;const int MAXN = 1000 + 5;int g[MAXN][MAXN], n;int ma

2016-05-31 17:32:15 211

原创 USACO Section 1.4

USACO Section 1.4 Arithmetric Progression/* ID: beihai2013 TASK: ariprog LANG: C++*//* 找出满足(a+i*b)(i<n,i>=0)的所有a,b,其中a+i*b的值在集合S{P^2 + Q^2}中 暴力循环做就可以了,主要是题意比较难理解*/#include <bit

2016-05-31 12:08:24 298

原创 USACO Section 1.3

USACO Section 1.3Mixing Milk/* ID: beihai2013 TASK:milk LANG: C++*//*贪心选择消费最少的农人*/#include <bits/stdc++.h>using namespace std;const int MAXN = 5000 + 5;struct Node{ int u, v;}n

2016-05-31 08:45:22 295

原创 Codeforces Round 354 div2 676ABCDE

Codeforces Round 354 div2 通过数: 4 A:#include <bits/stdc++.h>using namespace std;const int MAXN = 100 + 5;int a[MAXN], n;int main(){ while(scanf("%d", &n) != EOF) { for(int i = 1 ; i <

2016-05-26 16:58:02 281

空空如也

空空如也

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

TA关注的人

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