Skip to content

Commit

Permalink
Chore: 格式化文章内容
Browse files Browse the repository at this point in the history
  • Loading branch information
Lruihao committed Nov 30, 2023
1 parent 8ac9901 commit da8eba0
Show file tree
Hide file tree
Showing 82 changed files with 220 additions and 220 deletions.
4 changes: 2 additions & 2 deletions .lintstagedrc.json
@@ -1,6 +1,6 @@
{
"content/**/*.md": [
"markdownlint-cli2 --fix",
"autocorrect --fix"
"autocorrect --fix",
"markdownlint-cli2 --fix"
]
}
2 changes: 1 addition & 1 deletion content/friends/index.md
Expand Up @@ -31,6 +31,6 @@ keywords:

1. 互換友鏈請按以上格式在評論留言。(僅限個人非商業部落格/網站)
2. :(fa-solid fa-exclamation-triangle): 網站失效、停止維護、內容不當都可能被取消連結!
3. 那些不尊重他人勞動成果,轉載不加出處的,或惡意行為的網站,還請您不要來進行交換了
3. 那些不尊重他人勞動成果,轉載不加出處的,或惡意行為的網站,還請你不要來進行交換了

{{< /admonition >}}
2 changes: 1 addition & 1 deletion content/posts/_acm/b-higher.md
Expand Up @@ -55,7 +55,7 @@ he will get papers with citations 2,1,0. Thus, his h-index is 1.
For the second sample, Bobo can work 2 papers for 1 and 2 hours respectively.
He will get papers with citations 1+1,2+0. Thus, his h-index is 2.

题意:给定 n 个小时,可以用其中 x(1<=x<=n) 个小时写一篇论文,那么这篇论文的"既定"引用数将会是`x*a`(a 为给定正整数);此外,已经写好的论文将会被其后写成的论文所引用,也就是说,这篇论文的总引用数将会是"既定"引用数+其后论文篇数;问在所有的写论文方案中(例如一种方案就是用 n 个小时写 n 篇论文,每篇论文各花 1 小时(可以得到这 n 篇论文的引用数)),h 最大为多少 (h 的含义同上题)(每一种方案都对应着一个 h,求这些 h 中的最大者)
题意:给定 n 个小时,可以用其中 x(1<=x<=n) 个小时写一篇论文,那么这篇论文的"既定"引用数将会是`x*a`(a 为给定正整数);此外,已经写好的论文将会被其后写成的论文所引用,也就是说,这篇论文的总引用数将会是"既定"引用数 + 其后论文篇数;问在所有的写论文方案中(例如一种方案就是用 n 个小时写 n 篇论文,每篇论文各花 1 小时(可以得到这 n 篇论文的引用数)),h 最大为多少 (h 的含义同上题)(每一种方案都对应着一个 h,求这些 h 中的最大者)
思路:最优方案(即对应 h 值最大的方案)是平摊 n 小时写成 n 篇论文(证明未知);此时 n 篇论文的引用数为 a,a+1,a+2,...,a+n-1,引用数为 a+i 时,引用数大于等于它的论文有 n-i 篇,令 a+i=n-i 得 i=(n-a)/2, 所以 h=a+(n-a)/2;

后 AC 代码
Expand Down
4 changes: 2 additions & 2 deletions content/posts/_acm/c-with-stl.md
Expand Up @@ -143,7 +143,7 @@ set<int>::iterator it;
it = a.lower_bound(value);
```

## 7.next_permutation (排列)
## 7.next_permutation(排列)

bool next_permutation( iterator start, iterator end ); 通常用于生成序列的全排列。用之前先保证有序;

Expand Down Expand Up @@ -211,7 +211,7 @@ do{
}while(next_permutation(str, str+length));
```
## 8.unique (去重)
## 8.unique(去重)
如何把序列 a 中的重复元素去除呢?首先需要对原序列 a 进行排序,保证有序后,调用 unique(a.head , a.tail ) 就可以了。unique 会返回一个类似指针的东西(和 lower_bound 有点像),-a 后表示去重之后序列的长度。
Expand Down
8 changes: 4 additions & 4 deletions content/posts/_acm/cfcontest1017.md
Expand Up @@ -54,10 +54,10 @@ int main(){

| a,b 上下对应的情况:a/b | 个数 |
| :---------------------: | :--: |
| 1/0 | m |
| 0/0 | n |
| 1/1 | x |
| 0/1 | y |
| 1/0 | m |
| 0/0 | n |
| 1/1 | x |
| 0/1 | y |

用组合数学的思想来想:
只要看 b 为 0 的位就行了,如果 0/0,a 只能换 1 的位置,为了避免重复,所以这里总数为`n*x`,
Expand Down
2 changes: 1 addition & 1 deletion content/posts/_acm/codeforces476b.md
Expand Up @@ -86,7 +86,7 @@ int main(){

想不通,没办法只好换思路。

我先分别记下 a,b 串的'+','-','?'个数,然后后我们很容易知道,如要 a,b 位置相等,则加号和减号的数目,两串要相等,且 a 中的加号要比 b 中已知的加号要多,减号也要比 b 中已知的要多,否则打死都不会相等的,仔细比划一下就知道了。然后有 z 个‘?’,相当于有 z 个坑,让我们去填使得 a,b 相等。只能填+或-,设加号差等于 x-p, 所以概率就等于 c(z,x-p)/2^z。
我先分别记下 a,b 串的'+','-','?'个数,然后后我们很容易知道,如要 a,b 位置相等,则加号和减号的数目,两串要相等,且 a 中的加号要比 b 中已知的加号要多,减号也要比 b 中已知的要多,否则打死都不会相等的,仔细比划一下就知道了。然后有 z 个‘?’,相当于有 z 个坑,让我们去填使得 a,b 相等。只能填 + 或-,设加号差等于 x-p, 所以概率就等于 c(z,x-p)/2^z。

## AC 代码

Expand Down
8 changes: 4 additions & 4 deletions content/posts/_acm/dacheng.md
Expand Up @@ -10,7 +10,7 @@ categories:
- ACM
---

> 大数乘法 c 版(基础写法)
> 大数乘法 c 版 (基础写法)
<!--more-->

Expand All @@ -20,7 +20,7 @@ categories:
#define N 202

int main() {
int a[N] = {0}, b[N] = {0}, c[404] = {0}, la, lb, i, j,k, d = 0, n1, n2;//202位数相乘,最长404位数
int a[N] = {0}, b[N] = {0}, c[404] = {0}, la, lb, i, j,k, d = 0, n1, n2;//202 位数相乘,最长 404 位数
int get(int *p);
void change(int *a, int *b, int n);

Expand Down Expand Up @@ -57,7 +57,7 @@ int main() {
return 0;
}

//输入字符串作为数字,并返回数字去除前导0后的长度
//输入字符串作为数字,并返回数字去除前导 0 后的长度
int get(int *p) {
char x[N];
int l, i, ex = 0;
Expand All @@ -66,7 +66,7 @@ int get(int *p) {
l = strlen(x);
while (x[ex] == '0')
ex++;
for (i = ex; i < l; i++) //提取字符串数字到int数组,倒序排列
for (i = ex; i < l; i++) //提取字符串数字到 int 数组,倒序排列
*(p + l - i - 1) = x[i] - '0';
return l - ex;
}
Expand Down
2 changes: 1 addition & 1 deletion content/posts/_acm/euclid.md
Expand Up @@ -170,7 +170,7 @@ a*(x0+3*b)+b*(y0-3*a)=c

当出现 2.5<=k<=5.5 时,我们需要的可行的 k 为 3,4,5,所以需要将 2.5 向上取整得到 3,5.5 向下取整得到 5,即为 3<=k<=5;

当出现-5.5<=<=-2.5 时,我们需要的可行的 k 为-5,-4,-3, 所以需要将-5.5 向上取整得到-5,-2.5 向下取整得到-3,即为-5<=k<=-3;
当出现 -5.5<=<=-2.5 时,我们需要的可行的 k 为 -5,-4,-3, 所以需要将 -5.5 向上取整得到 -5,-2.5 向下取整得到 -3,即为 -5<=k<=-3;

正负数的情况都已经考虑完全了,可以得到取整的结论:上界下取整,下界上取整。

Expand Down
2 changes: 1 addition & 1 deletion content/posts/_acm/gcd-bit.md
Expand Up @@ -40,7 +40,7 @@ inline int GCD(int x,int y)
if(j<i) i=j;
while(1){
if(x<y)x^=y,y^=x,x^=y; // 若 x < y 交换 x, y
if(0==(x-=y)) return y<<i; // 若 x == y, gcd == x == y (就是在辗转减,while(1) 控制)
if(0==(x-=y)) return y<<i; // 若 x == y,gcd == x == y(就是在辗转减,while(1) 控制)
while(0==(x&1))x>>=1; // 去掉所有的 2
}
}
Expand Down
4 changes: 2 additions & 2 deletions content/posts/_acm/hdu-1495.md
Expand Up @@ -13,7 +13,7 @@ categories:

[非常可乐](http://acm.hdu.edu.cn/showproblem.php?pid=1495)

大家一定觉的运动以后喝可乐是一件很惬意的事情,但是 seeyou 却不这么认为。因为每次当 seeyou 买了可乐以后,阿牛就要求和 seeyou 一起分享这一瓶可乐,而且一定要喝的和 seeyou 一样多。但 seeyou 的手中只有两个杯子,它们的容量分别是 N 毫升和 M 毫升 可乐的体积为 S (S<101)毫升 (正好装满一瓶) ,它们三个之间可以相互倒可乐 (都是没有刻度的,且 S==N+M,101 > S > 0,N > 0,M > 0) 。聪明的 ACMER 你们说他们能平分吗?如果能请输出倒可乐的最少的次数,如果不能输出"NO"。
大家一定觉的运动以后喝可乐是一件很惬意的事情,但是 seeyou 却不这么认为。因为每次当 seeyou 买了可乐以后,阿牛就要求和 seeyou 一起分享这一瓶可乐,而且一定要喝的和 seeyou 一样多。但 seeyou 的手中只有两个杯子,它们的容量分别是 N 毫升和 M 毫升 可乐的体积为 S(S<101)毫升(正好装满一瓶) ,它们三个之间可以相互倒可乐(都是没有刻度的,且 S==N+M,101 > S > 0,N > 0,M > 0) 。聪明的 ACMER 你们说他们能平分吗?如果能请输出倒可乐的最少的次数,如果不能输出"NO"。

## Input

Expand Down Expand Up @@ -172,7 +172,7 @@ int main()
}
```

然后杭电上讨论板子上提供一种数论题解,~~但是数据存在一点问题,只不过有些数据好像不对;比如: 10 6 5 的结果应该是 1 而不是 9~~ 也提示我们多维思考同一个问题!
然后杭电上讨论板子上提供一种数论题解,~~但是数据存在一点问题,只不过有些数据好像不对;比如:10 6 5 的结果应该是 1 而不是 9~~,也提示我们多维思考同一个问题!

[数论推导](https://blog.csdn.net/V5ZSQ/article/details/52097459)

Expand Down
4 changes: 2 additions & 2 deletions content/posts/_acm/hdu-2612.md
Expand Up @@ -13,7 +13,7 @@ categories:

[Find a way](http://acm.hdu.edu.cn/showproblem.php?pid=2612)

圣诞节要到了,坤神和瑞瑞这对基佬想一起去召唤师大峡谷开开车。百度地图一下,发现周围的召唤师大峡谷还不少,这对基佬纠结着,该去哪一个。坤神:我要去左边的这个(因为离自己比较近 哈哈~)。瑞瑞:我要去右边的这个(因为离自己比较近 嘿嘿~) ........ 这对基佬闹矛盾了,开车有危险了! 为了不让他们去召唤师大峡谷坑人,riot 决定让他们去 X 召唤师大峡谷,保证他俩所走的路程和最短。每走一个点需要花费 11 分钟,输出他们一共花费多少时间(最短时间噢)
圣诞节要到了,坤神和瑞瑞这对基佬想一起去召唤师大峡谷开开车。百度地图一下,发现周围的召唤师大峡谷还不少,这对基佬纠结着,该去哪一个。坤神:我要去左边的这个(因为离自己比较近 哈哈~)。瑞瑞:我要去右边的这个(因为离自己比较近 嘿嘿~) ........ 这对基佬闹矛盾了,开车有危险了!为了不让他们去召唤师大峡谷坑人,riot 决定让他们去 X 召唤师大峡谷,保证他俩所走的路程和最短。每走一个点需要花费 11 分钟,输出他们一共花费多少时间(最短时间噢)

## Input

Expand Down Expand Up @@ -63,7 +63,7 @@ categories:

## Hint

对于第一组样例,坤神和瑞瑞去矩阵(4,1) 这个召唤师大峡谷,耗费的时间为 3 ✖️ 11 + 3 ✖️ 11 = 66, 去矩阵(1,4)这个召唤师大峡谷,耗费的时间为 5 ✖️ 11 + 3 ✖️ 11 = 88 。所以,最终答案:66。[思路参考](https://blog.csdn.net/ld_1090815922/article/details/72448569)
对于第一组样例,坤神和瑞瑞去矩阵(4,1)这个召唤师大峡谷,耗费的时间为 3 ✖️ 11 + 3 ✖️ 11 = 66,去矩阵(1,4)这个召唤师大峡谷,耗费的时间为 5 ✖️ 11 + 3 ✖️ 11 = 88。所以,最终答案:66。[思路参考](https://blog.csdn.net/ld_1090815922/article/details/72448569)

`写代码总是好粗心!!`

Expand Down
2 changes: 1 addition & 1 deletion content/posts/_acm/hdu1009.md
Expand Up @@ -12,7 +12,7 @@ categories:
## 题目大意

[题目链接](http://acm.hdu.edu.cn/showproblem.php?pid=1009)
老鼠有 M 磅猫食 , 有 N 个房间 , 每个房间前有一只猫 , 房间里有老鼠最喜欢的食品 J[i] , 若要得到房间的食物 , 必须付出相应的猫食 F[i] , 当然这只老鼠没必要每次都付出所有的 F[i],若它付出 F[i] 的 a%, 则得到 J[i] 的 a%,求老鼠能吃到的最多的食物。
老鼠有 M 磅猫食 , 有 N 个房间 , 每个房间前有一只猫 , 房间里有老鼠最喜欢的食品 J[i] , 若要得到房间的食物 , 必须付出相应的猫食 F[i] , 当然这只老鼠没必要每次都付出所有的 F[i],若它付出 F[i] 的 a%,则得到 J[i] 的 a%,求老鼠能吃到的最多的食物。

### Sample Input

Expand Down
2 changes: 1 addition & 1 deletion content/posts/_acm/heart/index.md
@@ -1,5 +1,5 @@
---
title: “高逼格” C 语言画心
title: “高逼格”C 语言画心
date: 2018-08-15 16:33:12
lastmod: 2018-08-15 16:33:12
tags:
Expand Down
4 changes: 2 additions & 2 deletions content/posts/_acm/hustoj/index.md
Expand Up @@ -12,7 +12,7 @@ categories:

> 目前 HustOj 在 GitHUb 地址是:<https://github.com/zhblue/hustoj>
> **安装时注意 ubuntu 版本**,没条件的可以在自己 ubuntu 上尝试,或者虚拟机上(关注公众号回复`ubuntu16.04`获取 iso 镜像文件),也可以在云实验室的云服务器上做做实验。
> 更多说明及 ACM/NOIP 题库下载见官网博客 [代码的那些事|程序员回忆录](http://www.hustoj.com/)
> 更多说明及 ACM/NOIP 题库下载见官网博客 [代码的那些事 | 程序员回忆录](http://www.hustoj.com/)
<!--more-->

Expand All @@ -30,7 +30,7 @@ wget https://raw.githubusercontent.com/zhblue/hustoj/master/trunk/install/instal
sudo bash install-ubuntu16+.sh
```

等待中一路回车,当提示 done! 则表示安装成功:
等待中一路回车,当提示 done!则表示安装成功:
![](images/1.png)

## 使用 HustOJ
Expand Down
4 changes: 2 additions & 2 deletions content/posts/_acm/k-2018.md
Expand Up @@ -45,8 +45,8 @@ For each test case, print an integer which denotes the result.
思路:2018=2*1009(分解质因数),则对 x 分类讨论:1) 仅为 2 的倍数;2)仅为 1009 的倍数;3)即为 2 又为 1009 的倍数;4)既不为 2 又不为 1009 的倍数
等价于如下分类讨论:

1. 若 x 是偶数:1)若 x 是 1009 的倍数,则 y 可为 [c,d] 中任意数; 2)若 x 不是 1009 的倍数,则 y 必定为 [c,d] 中 1009 的倍数
2. 若 x 是奇数:1)若 x 是 1009 的倍数,则 y 必定为 [c,d] 中 2 的倍数; 2)若 x 不是 1009 的倍数,则 y 必定为 [c,d] 中 2018 的倍数
1. 若 x 是偶数:1)若 x 是 1009 的倍数,则 y 可为 [c,d] 中任意数;2)若 x 不是 1009 的倍数,则 y 必定为 [c,d] 中 1009 的倍数
2. 若 x 是奇数:1)若 x 是 1009 的倍数,则 y 必定为 [c,d] 中 2 的倍数;2)若 x 不是 1009 的倍数,则 y 必定为 [c,d] 中 2018 的倍数

后 AC 代码

Expand Down
6 changes: 3 additions & 3 deletions content/posts/_acm/lightoj1282.md
@@ -1,5 +1,5 @@
---
title: Leading and Trailing-lightoj1282(快速幂+对数运算)
title: Leading and Trailing-lightoj1282(快速幂 + 对数运算)
date: 2018-08-09 20:55:26
tags:
- 数论
Expand Down Expand Up @@ -70,8 +70,8 @@ int main ()
C 库函数 - fmod()
C 库函数 double fmod(double x, double y) 返回 x 除以 y 的余数。
- x -- 代表分子的浮点值。
- y -- 代表分母的浮点值。
- x 代表分子的浮点值。
- y 代表分母的浮点值。
该函数返回 x/y 的余数。
下面的实例演示了 fmod() 函数的用法。
Expand Down
4 changes: 2 additions & 2 deletions content/posts/_acm/links.md
Expand Up @@ -25,7 +25,7 @@ expirationReminder:
| :---------------------------------------------------------------------------------------- | :-------------------------------------------------------- |
| [各大 OJ 题目分类](http://www.pythontip.com/acm/problemCategory) | 各种算法分类,对应 OJ 题号超链接 |
| [ACM 题目分类](https://blog.csdn.net/column/details/acm--acm-acm--1.html) | |
| [codeforces](https://codeforces.com) | 俄国 CF 在线编程,一般比赛在晚上 9:30 和 1100 |
| [codeforces](https://codeforces.com) | 俄国 CF 在线编程,一般比赛在晚上 9:30 和 11:00 |
| [牛客网](https://www.nowcoder.com) | 国内求职学习网,有很多程序设计比赛 |
| [vjudge](https://vjudge.net) | 这个不用说了吧 |
| [hihocoder](https://hihocoder.com) | 打得少,感觉好多数据结构的题 |
Expand Down Expand Up @@ -149,7 +149,7 @@ expirationReminder:
| [老殁科技](https://www.laomoit.com/) | Adobe 等各种绿色破解软件 |
| [百度接口](https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=) | 百度搜索关键词接口 |
| [在线短信](https://www.pdflibr.com/) | 不想泄露个人的电话号码,注册一些一次性网站可以用到 |
| [配音阁](http://www.peiyinge.com/) | 文字转换语音/语音合成广告*叫卖录音*在线配音网络软件\_促销宣传片配音-配音阁-配音阁,国内专业的广告配音平台 |
| [配音阁](http://www.peiyinge.com/) | 文字转换语音/语音合成广告_叫卖录音_在线配音网络软件\_促销宣传片配音 - 配音阁 - 配音阁,国内专业的广告配音平台 |
| [hacknical](https://hacknical.com) | 在线个性简历,个人 Github 总结分析 |

<!-- endtab -->
Expand Down
2 changes: 1 addition & 1 deletion content/posts/_acm/nowcoder157a.md
Expand Up @@ -58,7 +58,7 @@ xb 有 m 种石子,每种无限个,Ta 想从这些石子中取出 n 个,

## 备注

对于 100%的测试数据:
对于 100% 的测试数据:
1 ≤ n, m ≤ 1000
数据量较大,注意使用更快的输入输出方式。

Expand Down
6 changes: 3 additions & 3 deletions content/posts/_acm/poj-1321.md
Expand Up @@ -24,13 +24,13 @@ Accepted: 30423
## Input

输入含有多组测试数据。
每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个 n \* n 的矩阵内描述棋盘,以及摆放棋子的数目。 n <= 8 , k <= n
当为-1 -1 时表示输入结束。
每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个 n \* n 的矩阵内描述棋盘,以及摆放棋子的数目。n <= 8 , k <= n
当为 -1 -1 时表示输入结束。
随后的 n 行描述了棋盘的形状:每行有 n 个字符,其中 # 表示棋盘区域, . 表示空白区域(数据保证不出现多余的空白行或者空白列)。

## Output

对于每一组数据,给出一行输出,输出摆放的方案数目 C (数据保证 C<2^31)。
对于每一组数据,给出一行输出,输出摆放的方案数目 C(数据保证 C<2^31)。

## Sample Input

Expand Down
6 changes: 3 additions & 3 deletions content/posts/_acm/poj1182/index.md
Expand Up @@ -25,9 +25,9 @@ toc: false
> > d=2,x 应该吃了 y, 也就是 (r[x]+1)%3 == r[y] ![](images/1.jpg)
>
> 不同树合并且更新关系 (**x 树做主根**)
> ' **如果 x 和 y 为关系 r1, y 和 z 为关系 r2, 那么 x 和 z 的关系就是(r1+r2)%3**
> ' **如果 x 和 y 为关系 r1, y 和 z 为关系 r2,那么 x 和 z 的关系就是(r1+r2)%3**
>
> > 如果 d==1 则 x 和 y 是同类 ,那么 y 对 x 的关系是 0, 如果 d==2 , 则 x 吃了 y, 那么 y 对 x 的关系是 1, x 对 y 的关系是 2。综上所述 , 无论 d 为 1 或者是为 2, y 对 x 的关系都是 d-1。
> > 如果 d==1 则 x 和 y 是同类,那么 y 对 x 的关系是 0, 如果 d==2 , 则 x 吃了 y, 那么 y 对 x 的关系是 1, x 对 y 的关系是 2。综上所述 , 无论 d 为 1 或者是为 2, y 对 x 的关系都是 d-1。
> > fy 对 y 的关系为 3-r[y] (有点互补的感觉,注意这里是不同类喔)
> > y 对 x 的关系为 d-1,
> > x 对 fx 的关系为 r[x]
Expand Down Expand Up @@ -86,7 +86,7 @@ int main()
else if(find(x) == find(y)) //如果原来有关系,也就是在同一棵树中,那么直接判断是否说谎
{
if(d == 1 && r[x] != r[y]) ans++; //如果 x 和 y 不属于同一类
if(d == 2 && (r[x]+1)%3 != r[y]) ans++; // 如果 x 没有吃 y (注意要对应 Uinon(x, y) 的情况,否则一路 WA 到死啊!!!)
if(d == 2 && (r[x]+1)%3 != r[y]) ans++; // 如果 x 没有吃 y(注意要对应 Uinon(x, y) 的情况,否则一路 WA 到死啊!!!)
}
else Union(x, y, d); //如果开始没有关系,则建立关系
}
Expand Down

0 comments on commit da8eba0

Please sign in to comment.