<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[TieWay59的博客]]></title><description><![CDATA[所以你好。]]></description><link>https://blog.youkuaiyun.com/Tighway</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Tighway]]></copyright><item><title><![CDATA[error: Microsoft Visual C++ 14.0 or greater is required.]]></title><link>https://blog.youkuaiyun.com/Tighway/article/details/121001672</link><guid>https://blog.youkuaiyun.com/Tighway/article/details/121001672</guid><author>Tighway</author><pubDate>Wed, 27 Oct 2021 20:46:13 +0800</pubDate><description><![CDATA[Pip Microsoft C++ Build Tools
问题
今天（2021-10-27），我在 win10 系统安装matplotlib的时候，遇到了老麻烦：
error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/

上一次遇到这个问题我不记得是哪]]></description><category></category></item><item><title><![CDATA[面试题 矩阵遍历构造]]></title><link>https://blog.youkuaiyun.com/Tighway/article/details/115284622</link><guid>https://blog.youkuaiyun.com/Tighway/article/details/115284622</guid><author>Tighway</author><pubDate>Sun, 28 Mar 2021 18:45:04 +0800</pubDate><description><![CDATA[1. 斜线
输入矩阵的行数n，列数m，按照下面的规律去构造矩阵。
5 4
01 02 06 07
03 05 08 14
04 09 13 15
10 12 16 19
11 17 18 20
----------
4 5
01 02 06 07 14
03 05 08 13 15
04 09 12 16 19
10 11 17 18 20
----------
1 8
1 2 3 4 5 6 7 8
----------
8 1
1
2
3
4
5
6
7
8
----------
3 3
1 2 6
3]]></description><category></category></item><item><title><![CDATA[Task Planine 计算几何 凸包]]></title><link>https://blog.youkuaiyun.com/Tighway/article/details/115035761</link><guid>https://blog.youkuaiyun.com/Tighway/article/details/115035761</guid><author>Tighway</author><pubDate>Sat, 20 Mar 2021 21:56:38 +0800</pubDate><description><![CDATA[Task Planine
题意
给一座山脉的二维坐标系模型，以轮廓的坐标点来表示，求最少几个光源可以覆盖每一个山谷。
思路
有一些前置知识是，计算几何的基本函数编写，对凸包有一定的理解。
容易想到把所有的谷映射到h高度的一些区间，对区间做贪心的算法。
这里就是我用一个segs存所有区间的边界点，tag标志左右，id表示第几个区间，x表示位置。
int dcmp(double x) {
    if (fabs(x) &lt; EPS) return 0;
    return x &lt; 0 ? -1 :]]></description><category></category></item><item><title><![CDATA[整行读入的简单应用举例]]></title><link>https://blog.youkuaiyun.com/Tighway/article/details/113060793</link><guid>https://blog.youkuaiyun.com/Tighway/article/details/113060793</guid><author>Tighway</author><pubDate>Sat, 23 Jan 2021 19:33:02 +0800</pubDate><description><![CDATA[整行读入的简单应用举例
为什么gets会编译不通过？
简单地说，C++14 的标准规范已经删除了这个函数。
所以只要编译器是按照 C++14 的标准编译的，这个函数就是不存在的。
删除的原因是它函数设计上的安全缺陷。
C++的高版本会逐渐普及，很多 oj 都可能会有默认 14 及以上的编译标准。
大多数目前的比赛还是以 C++11 为标准的。
getline
最好是看手册，但如果你不是一个硬核的语法粉丝，可能看手册会比较吃力。下面我具一些例子，只针对算法竞赛实用的情况。
一般我们说到 getline，是指下]]></description><category></category></item><item><title><![CDATA[docker wsl2 踩坑记录 | 唯独你没懂，居然把路径藏在这里]]></title><link>https://blog.youkuaiyun.com/Tighway/article/details/111304261</link><guid>https://blog.youkuaiyun.com/Tighway/article/details/111304261</guid><author>Tighway</author><pubDate>Wed, 16 Dec 2020 22:07:29 +0800</pubDate><description><![CDATA[docker wsl2 踩坑记录
docker-desktop 是什么

Docker Desktop WSL 2 backend
What is the docker-desktop-data distro

简单地说，使用 docker-desktop-wsl 方式使用 docker，会给你创建两个 wsl distro。一个包含 docker/docker-desktop 服务本体，一个用于存储附属的数据（比如 images 等）。

这中间就会导致 docker 文件的实际位置很奇怪，我还没有研究透]]></description><category></category></item><item><title><![CDATA[gym 102832 F 2020CCPC 长春站 F]]></title><link>https://blog.youkuaiyun.com/Tighway/article/details/109629113</link><guid>https://blog.youkuaiyun.com/Tighway/article/details/109629113</guid><author>Tighway</author><pubDate>Wed, 11 Nov 2020 19:19:14 +0800</pubDate><description><![CDATA[题意
对一个有点权的树，求以下公式的值：
∑i=1n−1∑j=1+1n[ai&nbsp;XOR&nbsp;aj==aLCA(i,j)](i&nbsp;XOR&nbsp;j)
    \sum_{i = 1}^{n - 1} \sum_{j = 1 + 1}^{n} [ai \ XOR \  aj == a_{LCA(i, j)}] (i \ XOR \ j)
i=1∑n−1​j=1+1∑n​[ai&nbsp;XOR&nbsp;aj==aLCA(i,j)​](i&nbsp;XOR&nbsp;j)
思路
总体上]]></description><category></category></item><item><title><![CDATA[python 部分杂技]]></title><link>https://blog.youkuaiyun.com/Tighway/article/details/109433527</link><guid>https://blog.youkuaiyun.com/Tighway/article/details/109433527</guid><author>Tighway</author><pubDate>Sun, 01 Nov 2020 18:52:22 +0800</pubDate><description><![CDATA[用 stdin.readline 代替 input
from sys import stdin
readline = stdin.readline

src：https://atcoder.jp/contests/hhkb2020/submissions/17361760

]]></description><category></category></item><item><title><![CDATA[AtCoder - arc099_d 哈希 想法]]></title><link>https://blog.youkuaiyun.com/Tighway/article/details/108961249</link><guid>https://blog.youkuaiyun.com/Tighway/article/details/108961249</guid><author>Tighway</author><pubDate>Thu, 08 Oct 2020 11:34:41 +0800</pubDate><description><![CDATA[https://atcoder.jp/contests/arc099/tasks/arc099_d?lang=en
题意
对一个极长的数组进性N次操作，操作有四种。
初始指针指向0，所有数组元素都是0.
两种操作左右移动指针。
两种操作加减指针指向的元素。
问有多少子区间的操作，【单独执行】的结果，等于所有操作执行的结果。
思路
因为实际操作的数组长度和n有关，顶多25000。并且数字种类不会很多，可以考虑哈希。
定义pre(i,j)pre(i,j)pre(i,j)表示第i次操作后，数组前j位的哈希值。（假]]></description><category></category></item><item><title><![CDATA[ZJNU 2448 Spiderman]]></title><link>https://blog.youkuaiyun.com/Tighway/article/details/108932139</link><guid>https://blog.youkuaiyun.com/Tighway/article/details/108932139</guid><author>Tighway</author><pubDate>Mon, 05 Oct 2020 21:52:58 +0800</pubDate><description><![CDATA[题意
给一个长n数组hi和k，对每个hi求有几个hj满足是hi % hj == k。
hi 最大1e6
思路
求 hi % hj == k
等价于求 (hi - k) % hj == 0
这中间就有许多隐含条件：

hj &gt; k
hi &gt;= k

如果 hi == k, ans[i] 就是求多少 j 满足 hj &gt; k
如果 hi &gt; k, ans[i] 就是有多少 j 满足 (hi - k) % hj == 0 并且 hj 不是 hi 的因子



考虑筛法，统计 hi 的个数 c]]></description><category></category></item><item><title><![CDATA[python datetime 应用题]]></title><link>https://blog.youkuaiyun.com/Tighway/article/details/108931758</link><guid>https://blog.youkuaiyun.com/Tighway/article/details/108931758</guid><author>Tighway</author><pubDate>Mon, 05 Oct 2020 19:46:48 +0800</pubDate><description><![CDATA[datetime提供了一系列方便的日期计算工具，可以处理许多时日期相关的计算。
（当然关键是避免手动处理闰年的进位问题）
代码提交地址：http://acm.zjnu.edu.cn/CLanguage/contests/1170/problems/1003.html

import datetime as dt
import bisect

'''
@Source: myself
@Author: Tieway59
@Description: 输入一个'%d.%m.%Y.'的日期，输出下一个日月年回文的日期]]></description><category></category></item><item><title><![CDATA[html 代码雨]]></title><link>https://blog.youkuaiyun.com/Tighway/article/details/108867734</link><guid>https://blog.youkuaiyun.com/Tighway/article/details/108867734</guid><author>Tighway</author><pubDate>Tue, 29 Sep 2020 14:24:26 +0800</pubDate><description><![CDATA[https://blog.youkuaiyun.com/Feng_wwf/article/details/108461313?utm_medium=distribute.pc_feed.none-task-blog-personrec_tag-13.nonecase&amp;depth_1-utm_source=distribute.pc_feed.none-task-blog-personrec_tag-13.nonecase&amp;request_id=5f59e6b6996e7a555189dc57
玩了一下，]]></description><category></category></item><item><title><![CDATA[2020 CCPC 网络赛复盘]]></title><link>https://blog.youkuaiyun.com/Tighway/article/details/108715128</link><guid>https://blog.youkuaiyun.com/Tighway/article/details/108715128</guid><author>Tighway</author><pubDate>Mon, 21 Sep 2020 17:39:02 +0800</pubDate><description><![CDATA[CCPC 网络赛 复盘




题目
大意
考点
备注




 Art Class
矩形周长并，特点是底边对齐
SegmentTreeBeats（吉老师的题）
吉老师很喜欢的数据结构。


 Graph Theory Class
大完全图，边权是点的lcm，求mst
Min25求大素数前缀和
学或者准备板子。


 Express Mail Taking

想法签到



 Chess Class





 Lunch
两个人做游戏，每个人可以把数组一个数拆分，谁不能拆了谁输。
博弈论，SG
可以推理，]]></description><category></category></item><item><title><![CDATA[回文自动机 PAM]]></title><link>https://blog.youkuaiyun.com/Tighway/article/details/108654496</link><guid>https://blog.youkuaiyun.com/Tighway/article/details/108654496</guid><author>Tighway</author><pubDate>Thu, 17 Sep 2020 22:17:07 +0800</pubDate><description><![CDATA[回文自动机 PAM
https://oi-wiki.org/string/pam/#_4
临时口胡
因为来不及做了，先组一套题目，感受一下题型。
回文自动机（2018ACM-ICPC南京赛区网络赛: I. Skr）

长度为n的数字串，只包含数字1~9，求所有本质不同的回文串代表的整数之和
例如：“1232111”：ans = 1+11+111+2+3+232+12321 = 12681

可以预处前缀和，然后记录每个回文串的位置。

2019杭电多校二    I Love Palindrome Strin]]></description><category></category></item><item><title><![CDATA[异色三角剖分校验 内角排序]]></title><link>https://blog.youkuaiyun.com/Tighway/article/details/108578237</link><guid>https://blog.youkuaiyun.com/Tighway/article/details/108578237</guid><author>Tighway</author><pubDate>Mon, 14 Sep 2020 14:28:14 +0800</pubDate><description><![CDATA[输入一个可能错误的三角剖分（n阶凸多边形，内部n - 3条对角线）。
每条边的边权是三种颜色之一。
校验1：这是一个正确的三角剖分
校验2：这个三角剖分的每个单元三角形都是异色三角形。]]></description><category></category></item><item><title><![CDATA[CF gym 101615 C]]></title><link>https://blog.youkuaiyun.com/Tighway/article/details/108553678</link><guid>https://blog.youkuaiyun.com/Tighway/article/details/108553678</guid><author>Tighway</author><pubDate>Sat, 12 Sep 2020 20:23:31 +0800</pubDate><description><![CDATA[题意
定义F(x) 表示x所有因子的和，让你对一个区间的F(x)求和。
数值的范围有1e12，但是区间长度1e6。
思路
可以严格地推倒，但是以开始得有个切入点。
我的切入点是求F的前缀和，假设记作G。
那么有下面的性质：
G(6)=F(1)+F(2)+F(3)+F(4)+F(5)+F(6)=⌊6/1⌋∗1+⌊6/2⌋∗2+⌊6/3⌋∗3+⌊6/4⌋∗4+⌊6/5⌋∗5+⌊6/6⌋∗6
G(6) = F(1) + F(2) +F(3) + F(4) +F(5) + F(6)  \\
 = \lfloor 6]]></description><category></category></item><item><title><![CDATA[python 文件目录深搜批量重命名]]></title><link>https://blog.youkuaiyun.com/Tighway/article/details/108503232</link><guid>https://blog.youkuaiyun.com/Tighway/article/details/108503232</guid><author>Tighway</author><pubDate>Wed, 09 Sep 2020 21:57:31 +0800</pubDate><description><![CDATA[python真香，我马上放下了手里的C++ boost.h。
存个代码以后参考。
import os


def rename_dfs(cur_path):
    file_names = os.listdir(cur_path)

    for old_name in file_names:
        # print(old_name)
        if os.path.isdir(os.path.join(cur_path, old_name)):
            rename_d]]></description><category></category></item><item><title><![CDATA[牛客挑战赛42B 启发式合并]]></title><link>https://blog.youkuaiyun.com/Tighway/article/details/108446267</link><guid>https://blog.youkuaiyun.com/Tighway/article/details/108446267</guid><author>Tighway</author><pubDate>Mon, 07 Sep 2020 13:46:18 +0800</pubDate><description><![CDATA[题意
一个有根树模型，根为1，包含点权。
对每个节点u，子树任意LCA(i,j)是u的两点，求最大的GCD(i,j)，以及最大情况下ij取法的方案数。
思路

注意到这个题点权的范围和n相同的。
所有数枚举其因子，这些因子放在一个set里，size也不会超过最大数据范围。
统计gcd其实本质就是统计因子。
用一个结构统计子树所有数分解以后因子个数。
计算节点答案就是一些递推累加。
想到启发式合并优化一下，复杂度就差不多了。
O(N(ai+log(N)))O(N(\sqrt{a_i} + log(N)))O(]]></description><category></category></item><item><title><![CDATA[后缀自动机 部分理解与思考]]></title><link>https://blog.youkuaiyun.com/Tighway/article/details/108285331</link><guid>https://blog.youkuaiyun.com/Tighway/article/details/108285331</guid><author>Tighway</author><pubDate>Fri, 28 Aug 2020 19:24:50 +0800</pubDate><description><![CDATA[对后缀自动机的一些理解与思考，深刻的内容不会，只搞一些粗浅的东西。]]></description><category></category></item><item><title><![CDATA[agc047_a A - Integer Product 数学 想法]]></title><link>https://blog.youkuaiyun.com/Tighway/article/details/108028911</link><guid>https://blog.youkuaiyun.com/Tighway/article/details/108028911</guid><author>Tighway</author><pubDate>Sat, 15 Aug 2020 21:54:16 +0800</pubDate><description><![CDATA[https://atcoder.jp/contests/agc047/tasks/agc047_a
题意
输入n个最多9位小数的浮点数，计算有多少对数乘积恰好是“整数”。
思路
其实就是看每个数2和5的因子个数，加起来大于分母即可。
可以对所有数按照2和5的因子计数，这样规模会很小（不到15*15）
暴力for即可。
代码
void solve(int kaseId = -1) {
    int n;
    cin &gt;&gt; n;
    map&lt;pair&lt;int, int&gt;,]]></description><category></category></item><item><title><![CDATA[ZOJ - 3940 第十三届浙江省赛 E Modulo Query 想法]]></title><link>https://blog.youkuaiyun.com/Tighway/article/details/108026418</link><guid>https://blog.youkuaiyun.com/Tighway/article/details/108026418</guid><author>Tighway</author><pubDate>Sat, 15 Aug 2020 18:49:48 +0800</pubDate><description><![CDATA[题意
各一个数组a，让0到M范围的数字X去依次取模ai，询问q次，有多少个X，计算结果等于询问yi。
https://zoj.pintia.cn/problem-sets/91827364500/problems/91827370044
分析
给大佬博客引流
假如[0,M](1)[0,M](1)[0,M](1)表示一个1到M区间，每个元素i只有一个元素映射到自己（比如5%100 == 5）。那么取模操作就可以表示成这样。
{[0,M](1)%Ai}→{[0,Ai](M/Ai)}+{[0,M%Ai](1)}
]]></description><category></category></item></channel></rss>