给静态博客加入链接安全跳转页
在逛别人的博客的时候,发现了有一种叫go.php的东西,可以经过自己站点的网页再跳转出去,方便SEO优化。但是像Hexo这类静态博客,想要从源HTML修改链接难度有点大,这里我们采用JavaScript动态修改。
部署Go Jumper到Github Pages
博主根据这个大佬的博客里的二次跳转,魔改了一个静态版:Go Jumper
所以,现在登陆你的Github账号,Fork这个仓库,选择你的个人账户。
Fork完毕后,点击Settings->Pages,将原分支从none修改为master,目录保持为/(root),然后Save。
这样,你自己的Go Jumper就成功部署在https://[你的Github用户名].github.io/go-jumper/了。
当然,你也可以绑定自己的域名,或者部署到其他的平台,这里不展开赘述。
修改index.js
为了方便,我们这边直接在线修改:打开https://github.com/[你的Github用户名]/go-jumper/edit/master/js/index.js,修改以下内容:
123456789101 ...
【NOIP1999 提高组T4】 靶形数独
一道挺水的DFS。
题目详情
小城和小华都是热爱数学的好学生,最近,他们不约而同地迷上了数独游戏,好胜的他们想用数独来一比高低。但普通的数独对他们来说都过于简单了,于是他们向 ZZZ 博士请教,ZZZ 博士拿出了他最近发明的“靶形数独”,作为这两个孩子比试的题目。
靶形数独的方格同普通数独一样,在 9×99 \times 99×9 格高的大九宫格中有 999 个 3×33 \times 33×3 格高的小九宫格(用粗黑色线隔开的)。在这个大九宫格中,有一些数字是已知的,根据这些数字,利用逻辑推理,在其他的空格上填入 111 到 999 的数字。每个数字在每个小九宫格内不能重复出现,每个数字在每行、每列也不能重复出现。但靶形数独有一点和普通数独不同,即每一个方格都有一个分值,而且如同一个靶子一样,离中心越近则分值越高。(如图)
上图具体的分值分布是:最里面一格(黄色区域)为 101010 分,黄色区域外面的一圈(红色区域)每个格子为 999 分,再外面一圈(蓝色区域)每个格子为 888 分,蓝色区域外面一圈(棕色区域)每个格子为 777 分,最外面一圈(白色区域)每个格子为 666 ...
【来源未知】电压放大器(amp)
这道题没认真想,一开始还爆了空间。
题目详情
西西需要把输入的电压 111 伏通过一系列电压放大器放大成原来的 NNN 倍,然后输出。
西西现在手上有两种放大器:
第一种能够把X伏的电压放大成 2X−12X-12X−1 伏
第二种能够把X伏的电压放大成 2X+12X+12X+1 伏
放大器是串联(即按顺序放在一条线路上)的。
现在西西手上有用不完的放大器,他希望能组出一个电路,使用数量最少的放大器,使得电压被放大了刚好 NNN 倍。
方法
BFS(RE 50分)
思路
将两种操作分别添加进队列,找到合适答案后跳出。
代码
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657#include<bits/stdc++.h>using namespace std;struct data{ unsigned long long which,vol; data *prev;//找他的上一个电压放大器 ...
【NOIP2004 普及组T2】花生采摘
这道题的核心是曼哈顿距离。
题目详情
鲁宾逊先生有一只宠物猴,名叫多多。这天,他们两个正沿着乡间小路散步,突然发现路边的告示牌上贴着一张小小的纸条:“欢迎免费品尝我种的花生!”。 鲁宾逊先生和多多都很开心,因为花生正是他们的最爱。在告示牌背后,路边真的有一块花生田,花生植株整齐地排列成矩形网格(如图111)。
有经验的多多一眼就能看出,每棵花生植株下的花生有多少。为了训练多多的算术,鲁宾逊先生说:“你先找出花生最多的植株,去采摘它的花生;然后再找出剩下的植株里花生最多的,去采摘它的花生;依此类推,不过你一定要在我限定的时间内回到路边。”
我们假定多多在每个单位时间内,可以做下列四件事情中的一件:
1.从路边跳到最靠近路边(即第一行)的某棵花生植株;
2.从一棵植株跳到前后左右与之相邻的另一棵植株;
3.采摘一棵植株下的花生;
4.从最靠近路边(即第一行)的某棵花生植株跳回路边。
现在给定一块花生田的大小和花生的分布,请问在限定时间内,多多最多可以采到多少个花生?注意可能只有部分植株下面长有花生,假设这些植株下的花生个数各不相同。 例如在图2所示的花生田里,只有位于 ...
【NOIP1999 普及组T1】 Cantor 表
一道水模拟,可以直接算。但菜鸡不会……
题目大意
原题导航:https://www.luogu.com.cn/problem/P1014
一个表格:
1/11/11/1 , 1/21/21/2 , 1/31/31/3 , 1/41/41/4, 1/51/51/5 …
2/12/12/1, 2/22/22/2 , 2/32/32/3, 2/42/42/4…
3/13/13/1 , 3/23/23/2, 3/33/33/3…
4/14/14/1, 4/24/24/2…
5/15/15/1…
按照Z字型排列,即:
问第NNN项是什么。
做法
这样的表格比较难看,我们先把它转换一下:
11\frac{1}{1}11
12,21\frac{1}{2},\frac{2}{1}21,12
31,22,13\frac{3}{1},\frac{2}{2},\frac{1}{3}13,22,31
14,23,32,41\frac{1}{4},\frac{2}{3},\frac{3}{2},\frac{4}{1}41,32,23,14 ...
【洛谷 P1141】01迷宫
这道题可以用DFS,也可以用BFS,这里我采用了DFS(因为懒)。
题目大意
给定一个只含000和111、n×nn \times nn×n的迷宫:
12345n=41 0 0 11 1 0 00 1 1 01 0 0 1
从每一个为000的位置,可以走到相邻的111处;从每一个为111的位置,可以走到相邻的000处。即上一个走过来的格子不能与现在的格子相同。
接下来有mmm次查询,每次查询给定一个x,yx,yx,y,表示迷宫里第xxx行第yyy列的格子,询问从这里开始最多能走到几个格子(包括自身)。
做法
普通DFS
根据题意,很容易得到第一版的DFS代码:
123456789101112131415161718192021222324252627282930#include<bits/stdc++.h>using namespace std;bool Map[1005][1005];int mapBooker[1005][1005];int n,m;int search(int x,int y,bool last){ /*判定是否越界、已经搜索过* ...
【小报】CCF报名官网出现严重Bug,多地OIer可随意发布新闻
今日,CCF报名官网出现严重Bug,多地的OIer可在报名官网的新闻栏目随意发布新闻(博主身处GD,目前只剩这条了):
Tips:随意发布公告可能会被禁赛
一条不知道是否官方的“新闻”指路:http://cspsj.noi.cn/page/index/noiNews.php?id=103
免责申明
由于此博文导致的无法删除新闻、各类作死博主不承担任何责任,请各位姥爷自行衡量事情风险!
Bug情况
目前,所有登录后的用户均可以在此处随意编辑公告;公告保存后,登录账户所在省的全部用户(暂定)均可查看,但可以通过枚举http://cspsj.noi.cn/page/index/noiNews.php?id=后面的id进行查看(Example:http://cspsj.noi.cn/page/index/noiNews.php?id=139、http://cspsj.noi.cn/page/index/noiNews.php?id=103)。
此Bug发现后,一时间,各省的新闻栏如同垃圾场,涌现了一堆无意义新闻(下列图片来源于网络):
这里博主再次提示,请勿以身试法,防止禁 ...
【奇淫技巧】 在中国大陆内更快的下载VS Code安装包
今天重装了VS Code(别问我为啥),但速度……呵呵……
操作过程
首先,像平常一样,点击下载VS Code。
开始下载以后,你的浏览器会自动创建一个下载任务,但速度可与X度网盘比拟:
这时,右键下载任务(此处使用Microsoft Edge),复制下载链接:
此时,你的剪贴板里就会有一串这样的网址:
1https://az764295.vo.msecnd.net/stable/ee8c7def80afc00dd6e593ef12f37756d8f504ea/VSCodeUserSetup-x64-1.61.0.exe
现在,将网址里的az764295.vo.msecnd.net替换为vscode.cdn.azure.cn,变成这样:
1https://vscode.cdn.azure.cn/stable/ee8c7def80afc00dd6e593ef12f37756d8f504ea/VSCodeUserSetup-x64-1.61.0.exe
然后就可以直接下载了,速度++!
【USACO19FEB Bronze】Measuring Traffic
USACOの模拟小题。
题目详情
原题链接(英文题面):http://www.usaco.org/index.php?page=viewproblem2&cpid=917
中文翻译:
Farmer John的农场边上的高速公路最近出现了引人注目的流量上升,或者至少Farmer John看起来是这样的。为了证实这件事,他打算用一组传感器测量公路上的车流量,每个传感器被用来测量一小段路面上的车流量的数值。
不幸的是,某一天经过牛棚的时候,Farmer John被绊倒了,装有传感器的盒子掉进了一个巨大的奶缸,之后它们就不能正常工作了。比起之前可以产生一个精确的车流量读数,现在每个传感器只能输出一个可能结果的范围。例如,一个传感器可能会给出范围 [7,13][7,13][7,13] ,表示在这段路面上的车流量不小于 777 ,并且不大于 131313 。
高速公路经过农场的这一段长 NNN 英里,车辆仅从一个方向通过公路,从第1英里驶向第 NNN 英里。Farmer John想要安装N个传感器——每一个监测高速公路上1英里长的路段。在其中某些路段上,有能够使得车辆进入高速公路的上匝 ...
【HDU 1702】ACboy needs your help again!
一道简单数据结构题。
题目大意
模拟队列和栈,其中队列是FIFO,栈是FILO。
输入时有多个测试用例。
做法
显而易见,当需要模拟栈的时候就用STL的stack处理,模拟队列的时候使用queue。
但要注意的是测试用例可能会出现队列或栈已经空了,但仍要求出队/栈的情况,所以出队/栈时要先判空。
代码
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849#include<bits/stdc++.h>using namespace std;int main(){ std::ios::sync_with_stdio(false); cin.tie(0); int task; cin>>task; for(int i=1;i<=task;i++){ int n; string type; cin>>n>>type; ...
【Hexo】博客数学公式解决方案,亲测有效
自从打开了Pjax后,我的博客的LaTeX加载就非常闹心……
原因
我的博客一开始使用的是MathJax,一开始还行,后来为了搞音乐播放器,开启了Pjax,噩梦的开始……
Pjax动态加载会导致部分JavaScript文件无法自动运行,这很常见……像MathJax这类的需要在页面打开后再渲染的,自然属于这一类。
解决方法
打开主题的配置文件,找到有关于数学公式的配置(这里使用的是NexT主题):
将其修改,关闭所有选项:
12345678910111213141516math: # Default (true) will load mathjax / katex script on demand. # That is it only render those page which has `mathjax: true` in Front-matter. # If you set it to false, it will load mathjax / katex srcipt EVERY PAGE. per_page: false # hexo-renderer-pa ...
CSP2021 游记
又到了一年一度的CSP……
初赛
Day -2
早上在学校颓whk,像我们学校怎么可能会搞集训呢……/kk
回家看了会算法书,然后去验核酸,准备考试…… (口区)
Day -1
早上继续颓whk……感谢各位老师送的作业(
今天晚上开始放中秋假,在洛谷有题上康题目……发现自己还是不太熟悉那些阅读程序题和填代码题,瞬间慌了……
Day 1
上一年报了rm只拿了个复赛2=,还是不敢上tg……早上收拾下东西,最后再看一下往年题,搜一下易考的知识点,蹲tg的大佬透露今早题目,据说手算base64?
下午正式开考,今年的题目除了手算base64真不会外,多数都眼瞎了……
这一题没考虑好,忘记满二叉树也是完全二叉树的一种……
这一题也脑残了,忘记看是最少的比较次数,从第二个开始遍历,那么最多只要比较 N−1N - 1N−1 次就够了,代码如下:
1234567891011121314#include<bits/stdc++.h>using namespace std;int arr[1008616];int main(){ int n; cin&g ...
【Hexo+NexT主题】弹出欢迎弹窗
写这篇博客的缘故是因为看到cnblogs上的live2d模型可以自动欢迎,但是自己又不会魔改Hexo的live2d,就想到了以弹窗的方式来欢迎。
Tips:本文基于Hexo+NexT主题,且开启Pjax局部刷新技术,其他主题的修改可能会有所不同,请自行了解文件对应位置.
最终的实现效果如下:
选择一个好看的弹窗
首先,你既然要弹窗,就要好看,而不是JavaScript里的alert()函数,在洛谷上做题的时候,看到“提交成功”的弹窗还比较好看,就查找了一下来源(详情),然后选定了这个,感觉还不错。
获取JavaScript和CSS文件
我们需要将sweetalert.js和sweetalert.css放到自己博客下,防止CDN炸裂导致的错误:
新建JavaScript文件
在博客根目录往下找到\themes\next\source\js文件夹,新建sweetalert.js,文件内容请看这里,觉得复制麻烦的可以直接按Crtl+S进行保存。
新建CSS文件
在博客根目录往下找到\themes\next\source\css文件夹,新建sweetalert.css,文件内容 ...
【被墙检测】IT狗被墙检测API调用
最近有一个检测网站是否被墙的需求,找了几个网站,发现IT狗的API比较方便。
API详情
我们先看看IT狗的API的调用方式:
获取页面
1234URL:https://www.itdog.cn/firewall/[domain]请求方式:POST请求主体:more=no&button_click=yes返回:text/html
此处的[domain]即要检测的域名(一级域名),POST请求的主体无需变动。
这个API会返回一段HTML,即在浏览器打开时的页面。
防火墙检测
1234URL:https://www.itdog.cn/public/ajax.aspx?type=firewall请求方式:POST请求主体:host=[domain]&token=[token]返回:text/html(但是格式为JSON)
此处的[domain]即要检测的域名(一级域名),[token]的获取稍后会提到。
若请求成功,其返回内容如下:
12345{ "type":"success",//返回状态 " ...
博客服务器切换至Cloudflare Pages
UPD:部署已切换完毕,网站已恢复正常。
由于Github Pages的不稳定,博客部署将会切换至Cloudflare Pages。
在切换部署中途可能会出现网络波动的问题,不便之处,敬请原谅!