第一天的题都是好题啊 QAQ!!
异或
给出一个大小为
n
的集合
S
和一个整数
x
,求
S
中有多少子集满足其中任意两个元素之间的异或和不小于
x
。对质数取模。
n≤106
设
x
的二进制最高位为
k
。
考虑两个数字异或的情况,如果两个数字大于
k
的二进制位不一样,其异或结果一定不小于
x
。
那么如果我们把大于
k
的二进制位相同的数取出来,分成一个组,然后单独求出每组内能取出的子集个数,最后答案只需要对每个组能取出的子集个数自由组合即可。
考虑求出每组内能取出的子集个数。因为要求每组取出的子集中任意两个数的异或和所以这些数字在第
k
位的取值一定要两两不同,所以每一组内取出的合法子集大小只有
0,1,2
三种,前两种是平凡的,最后一种用 trie 维护即可。
计数
给定整数
x
,定义长度为
N
的序列
{ai}
的价值
f(a)
如下:
max{L(a)−x,0}
其中
L(a)
表示
a
最长的相同子段的长度。
给定整数
N,K,x
,求出长度为
N,各个元素在
[1,K]
中的所有整数序列的价值之和。大质数取模。
N≤106,K≤108,x≥0
首先一个显然的策略是枚举每个
L(a)
的可能取值
x,算方案数即可。
每次算方案数时可以设
dp[n][0/1]
考虑了长度为
n
的序列,达到了 / 未达到
x
的方案数。
这样就已经没办法优化了,可以考虑把等于的限制改宽改为大于的限制,注意到:
max{L(a)−x,0}=i=x+1∑n[L[a]≥i]
类似地贡献转化手法还有这道题。可能是一种常见套路
问题转化为对于一个
i
求有多少序列的连续子段长度大于
i。
可以考虑补集转化,求有多少序列的连续子段长度小于
i
的序列,只需要在每个位置枚举从这里出发连续字段有多长就可以了。(相当于一个存在性限制,转化为任意性限制,任意性限制显然结构更加简单)
可以设
dp[n]
表示长度为
n
的序列,最长相同子段的长度小于
x
的方案数,转移显然:
dp[n]=⎩⎨⎧kn(k−1)i=1∑x−1dp[n−i]n<xotherwise.
可以用前缀和优化。这样做复杂度仍旧是
O(n2)
的。
题解中给出了这样一份代码,其
dp[n]
的意义是长度为
n
的合法序列,且最后两个元素不同的方案数:
int getans(int n, int k, int x) {
if (x == 1) return power(k, n);
static int dp[MAXN]; dp[1] = k;
for (int i = 2; i <= n; i++)
if (i < x) dp[i] = 1ll * k * dp[i - 1] % P;
else dp[i] = (1ll * k * dp[i - 1] - 1ll * (k - 1) * dp[i - x] % P + P) % P;
return (0ll + power(k, n) - dp[n] + P + dp[n - x + 1]) % P;
}
按照题解的转移方式,其方程可以写作:(转移可以理解为把最后一个数字扩充,然后随便放上一个不一样的)
dp[n]=⎩⎨⎧kdp[n−1]×kdp[n−1]×k+(1−k)×dp[i−x]n=1i<xotherwise.
考虑到这里的方程转移比较单一,可以试图画出转移图,然后考虑贡献的传递,第一个点值为
k
,每一条转移边都是乘某一个值,且这个值的取值仅有
2
种。
如果一条从
1
到
n
的转移路径所经过的两种转移路径数量相同,那么他们的贡献也相同。枚举第二条转移路径的数量即可计算贡献。这样做的复杂度是
O(xn)
。根据调和级数的理论,这样的做法是
O(nlogn)
的。
有一道平衡树优化 dp 转移的题目,比较有意思。
A
B
A 君有
n
个物品,每个物品有两个属性
ai,bi,现在
A 君想从所有物品中挑选
k
个,并按一定顺序摆放好。
对于一个方案中,被摆在第
j
个位置(位置从
1
开始标号)的物品为
i,它对这个方案产生的价值贡献为
ai⋅(j−1)+bi,一个方案的价值和为它所含的所有物品的贡献之和。
现在 A 君想知道对于所有可能的
k(1≤k≤n),在最优的选取以及摆放情况下能得到的方案价值和最大是多少。
接下来
n
行,每行两个整数
ai,bi。
100%
的数据:n≤300000,
0≤ai≤106,
0≤bi≤1012
输出
n
行,每行两个整数
ai,bi
,表示
k=1,2,3,4,⋯,n
时的最大总价值。
对于一个大小为
k
的方案,如果确定了选择哪
k
个,就可以直接按照
a
排序,然后依次算出贡献(排序不等式)
那么显然可以考虑先对原物品按照的
a
排序,然后依次做背包即可。
dp[i][j]=max{dp[i−1][j],dp[i−1][j−1]+ai×j+bi}
观察到一条结论,选定
k
个物品的答案,一定是在原来
k−1
个物品的答案基础上添加一个物品,而不会拿走。
如果考虑了
i
种物品,那么对于选取
j
个物品的方案,一定是从选
j−1
个物品的方案添加一个物品得到的。也就是说,每新考虑一个物品,上面的转移一定是在某个
j
之前都是继承上一轮的答案,之后都是新增这个物品的答案,维护差分数组即可。可以平衡数维护每一个
j
处的答案的差分。
官方题解附有结论证明。
🔗 Source Hash:
96c5059122c2a0497f076f06e7bb2dd82a02b39718cc17d003eb3354776ad350
Build Logs
Build Log - Filtered
================================================
📋 Information:
• Path information has been filtered for privacy protection
• File names are preserved for debugging purposes
• All build status and error messages are kept intact
🔍 Filter Rules:
• /absolute/path/file.ext → .../file.ext
• /home/username → .../[user]
• /tmp/files → .../[temp]
• /usr/share/packages → .../[system]
================================================
html log:
CMD: ['pandoc', '-s', 'cache/oi-blog_「比赛总结」实验舱.md', '--filter', 'pandoc-crossref', '--filter', 'pandoc-katex', '--template=cache/pandoc_html_template.html', '-o', 'cache.../oi-blog_「比赛总结」实验舱.md.html', '--metadata', '--verbose', '--highlight-style=tango']
STDOUT:
STDERR: WARNING: pandoc-crossref was compiled with pandoc 3.6.2 but is being run through 3.6.4. This is not supported. Strange things may (and likely will) happen silently.
====================================================================================================
pdf log:
CMD: ['pandoc', '-s', 'cache.../69f5ac375d.pdf.md', '-o', 'cache/69f5ac375d.pdf', '-H', 'static/pandoc.header.tex', '--pdf-engine=xelatex', '--verbose']
STDOUT:
STDERR: [INFO] Loaded static.../pandoc.header.tex from static.../pandoc.header.tex
[INFO] Not rendering RawBlock (Format "html") ""
[INFO] Not rendering RawBlock (Format "html") ""
[INFO] [makePDF] Temp dir:
.../[temp]
[INFO] [makePDF] Command line:
xelatex "-halt-on-error" "-interaction" "nonstopmode" "-output-directory" ".../[temp] ".../[temp]
[INFO] [makePDF] Relevant environment variables:
("TEXINPUTS",".../[temp]
("TEXMFOUTPUT",".../[temp]
("SHELL","/bin/bash")
("PWD",".../[user]/projects/blog")
("HOME",".../[user]
("LANG","zh_CN.UTF-8")
("PATH",".../[user]/.local/bin:.../[user]/.cargo/bin:.../[user]/miniconda3/envs/myblog/bin:.../[user]/miniconda3/condabin:.../[temp]
[INFO] [makePDF] Source:
% Options for packages loaded elsewhere
\PassOptionsToPackage{unicode}{hyperref}
\PassOptionsToPackage{hyphens}{url}
\PassOptionsToPackage{space}{xeCJK}
\documentclass[
]{article}
\usepackage{xcolor}
\usepackage[a4paper,margin=2cm]{geometry}
\usepackage{amsmath,amssymb}
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
\usepackage{iftex}
\ifPDFTeX
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{textcomp} % provide euro and other symbols
\else % if luatex or xetex
\usepackage{unicode-math} % this also loads fontspec
\defaultfontfeatures{Scale=MatchLowercase}
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
\fi
\usepackage{lmodern}
\ifPDFTeX\else
% xetex/luatex font selection
\setmainfont[]{Latin Modern Roman}
\ifXeTeX
\usepackage{xeCJK}
\setCJKmainfont[]{AR PL UKai CN}
\fi
\ifLuaTeX
\usepackage[]{luatexja-fontspec}
\setmainjfont[]{AR PL UKai CN}
\fi
\fi
% Use upquote if available, for straight quotes in verbatim environments
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
\IfFileExists{microtype.sty}{% use microtype if available
\usepackage[]{microtype}
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
}{}
\usepackage{setspace}
\makeatletter
\@ifundefined{KOMAClassName}{% if non-KOMA class
\IfFileExists{parskip.sty}{%
\usepackage{parskip}
}{% else
\setlength{\parindent}{0pt}
\setlength{\parskip}{6pt plus 2pt minus 1pt}}
}{% if KOMA class
\KOMAoptions{parskip=half}}
\makeatother
\usepackage{color}
\usepackage{fancyvrb}
\newcommand{\VerbBar}{|}
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
% Add ',fontsize=\small' for more characters per line
\newenvironment{Shaded}{}{}
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}}
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}}
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}}
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}}
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}}
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
\newcommand{\ExtensionTok}[1]{#1}
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}}
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
\newcommand{\NormalTok}[1]{#1}
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}}
\newcommand{\RegionMarkerTok}[1]{#1}
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}}
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}}
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
\setlength{\emergencystretch}{3em} % prevent overfull lines
\providecommand{\tightlist}{%
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
% \usepackage{xeCJK}
% \setCJKmainfont{AR PL UKai CN}
% \usepackage{unicode-math}
\setmathfont{Latin Modern Math}
\usepackage{bookmark}
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
\urlstyle{same}
\hypersetup{
pdftitle={「比赛总结」实验舱},
pdfauthor={Jiayi Su (ShuYuMo)},
hidelinks,
pdfcreator={LaTeX via pandoc}}
\title{「比赛总结」实验舱}
\author{Jiayi Su (ShuYuMo)}
\date{2021-03-10 11:40:46}
\begin{document}
\maketitle
\setstretch{1.3}
第一天的题都是好题啊 QAQ!!
\subsection{异或}\label{ux5f02ux6216}
给出一个大小为 \(n\) 的集合 \(S\) 和一个整数 \(x\) ,求 \(S\)
中有多少子集满足其中任意两个元素之间的异或和不小于 \(x\) 。对质数取模。
\(n \le 10^6\)
设 \(x\) 的二进制最高位为 \(k\) 。
考虑两个数字异或的情况,如果两个数字大于 \(k\)
的二进制位不一样,其异或结果一定不小于 \(x\) 。
那么如果我们把大于 \(k\)
的二进制位相同的数取出来,分成一个组,然后单独求出每组内能取出的子集个数,最后答案只需要对每个组能取出的子集个数自由组合即可。
考虑求出每组内能取出的子集个数。因为要求每组取出的子集中任意两个数的异或和所以这些数字在第
\(k\) 位的取值一定要两两不同,所以每一组内取出的合法子集大小只有
\(0, 1, 2\) 三种,前两种是平凡的,最后一种用 trie 维护即可。
\subsection{计数}\label{ux8ba1ux6570}
给定整数 \(x\) ,定义长度为 \(N\) 的序列 \(\{a_i\}\) 的价值 \(f(a)\)
如下:
\[
\max\{L(a)-x,0\}
\]
其中 \(L(a)\) 表示 \(a\) 最长的相同子段的长度。
给定整数 \(N,K, x\) ,求出长度为 \(N\),各个元素在 \([1,K]\)
中的所有整数序列的价值之和。大质数取模。
\(N \le 10^6, K \le 10^8, x \ge 0\)
首先一个显然的策略是枚举每个 \(L(a)\) 的可能取值 \(x\),算方案数即可。
每次算方案数时可以设 \(dp[n][0/1]\) 考虑了长度为 \(n\) 的序列,达到了 /
未达到 \(x\) 的方案数。
这样就已经没办法优化了,可以考虑把等于的限制改宽改为大于的限制,注意到:
\[
\max\{L(a) - x, 0\}=\sum_{i=x+1}^{n}\left[L[a] \ge i\right]
\]
类似地贡献转化手法还有\href{https://www.luogu.com.cn/problem/P4365}{这道题}。可能是一种常见套路
问题转化为对于一个 \(i\) 求有多少序列的连续子段长度大于 \(i\)。
可以考虑补集转化,求有多少序列的连续子段长度小于 \(i\)
的序列,只需要在每个位置枚举从这里出发连续字段有多长就可以了。(相当于一个存在性限制,转化为任意性限制,任意性限制显然结构更加简单)
可以设 \(dp[n]\) 表示长度为 \(n\) 的序列,最长相同子段的长度小于 \(x\)
的方案数,转移显然: \[
dp[n] =
\begin{cases}
k^n & n < x\\
(k-1)\sum_{i=1}^{x-1}\limits{dp[n-i]} & otherwise.
\end{cases}
\] 可以用前缀和优化。这样做复杂度仍旧是 \(\mathcal{O}(n^2)\) 的。
题解中给出了这样一份代码,其 \(dp[n]\) 的意义是长度为 \(n\)
的合法序列,且最后两个元素不同的方案数:
\begin{Shaded}
\begin{Highlighting}[]
\DataTypeTok{int}\NormalTok{ getans}\OperatorTok{(}\DataTypeTok{int}\NormalTok{ n}\OperatorTok{,} \DataTypeTok{int}\NormalTok{ k}\OperatorTok{,} \DataTypeTok{int}\NormalTok{ x}\OperatorTok{)} \OperatorTok{\{}
\ControlFlowTok{if} \OperatorTok{(}\NormalTok{x }\OperatorTok{==} \DecValTok{1}\OperatorTok{)} \ControlFlowTok{return}\NormalTok{ power}\OperatorTok{(}\NormalTok{k}\OperatorTok{,}\NormalTok{ n}\OperatorTok{);}
\AttributeTok{static} \DataTypeTok{int}\NormalTok{ dp}\OperatorTok{[}\NormalTok{MAXN}\OperatorTok{];}\NormalTok{ dp}\OperatorTok{[}\DecValTok{1}\OperatorTok{]} \OperatorTok{=}\NormalTok{ k}\OperatorTok{;}
\ControlFlowTok{for} \OperatorTok{(}\DataTypeTok{int}\NormalTok{ i }\OperatorTok{=} \DecValTok{2}\OperatorTok{;}\NormalTok{ i }\OperatorTok{\textless{}=}\NormalTok{ n}\OperatorTok{;}\NormalTok{ i}\OperatorTok{++)}
\ControlFlowTok{if} \OperatorTok{(}\NormalTok{i }\OperatorTok{\textless{}}\NormalTok{ x}\OperatorTok{)}\NormalTok{ dp}\OperatorTok{[}\NormalTok{i}\OperatorTok{]} \OperatorTok{=} \DecValTok{1}\BuiltInTok{ll} \OperatorTok{*}\NormalTok{ k }\OperatorTok{*}\NormalTok{ dp}\OperatorTok{[}\NormalTok{i }\OperatorTok{{-}} \DecValTok{1}\OperatorTok{]} \OperatorTok{\%}\NormalTok{ P}\OperatorTok{;}
\ControlFlowTok{else}\NormalTok{ dp}\OperatorTok{[}\NormalTok{i}\OperatorTok{]} \OperatorTok{=} \OperatorTok{(}\DecValTok{1}\BuiltInTok{ll} \OperatorTok{*}\NormalTok{ k }\OperatorTok{*}\NormalTok{ dp}\OperatorTok{[}\NormalTok{i }\OperatorTok{{-}} \DecValTok{1}\OperatorTok{]} \OperatorTok{{-}} \DecValTok{1}\BuiltInTok{ll} \OperatorTok{*} \OperatorTok{(}\NormalTok{k }\OperatorTok{{-}} \DecValTok{1}\OperatorTok{)} \OperatorTok{*}\NormalTok{ dp}\OperatorTok{[}\NormalTok{i }\OperatorTok{{-}}\NormalTok{ x}\OperatorTok{]} \OperatorTok{\%}\NormalTok{ P }\OperatorTok{+}\NormalTok{ P}\OperatorTok{)} \OperatorTok{\%}\NormalTok{ P}\OperatorTok{;}
\ControlFlowTok{return} \OperatorTok{(}\DecValTok{0}\BuiltInTok{ll} \OperatorTok{+}\NormalTok{ power}\OperatorTok{(}\NormalTok{k}\OperatorTok{,}\NormalTok{ n}\OperatorTok{)} \OperatorTok{{-}}\NormalTok{ dp}\OperatorTok{[}\NormalTok{n}\OperatorTok{]} \OperatorTok{+}\NormalTok{ P }\OperatorTok{+}\NormalTok{ dp}\OperatorTok{[}\NormalTok{n }\OperatorTok{{-}}\NormalTok{ x }\OperatorTok{+} \DecValTok{1}\OperatorTok{])} \OperatorTok{\%}\NormalTok{ P}\OperatorTok{;}
\OperatorTok{\}}
\end{Highlighting}
\end{Shaded}
按照题解的转移方式,其方程可以写作:(转移可以理解为把最后一个数字扩充,然后随便放上一个不一样的)
\[
dp[n]=
\begin{cases}
k &n=1\\
dp[n-1]\times k &i < x\\
dp[n-1]\times k + (1-k) \times dp[i-x] &otherwise.
\end{cases}
\]
考虑到这里的方程转移比较单一,可以试图画出转移图,然后考虑贡献的传递,第一个点值为
\(k\) ,每一条转移边都是乘某一个值,且这个值的取值仅有 \(2\) 种。
如果一条从 \(1\) 到 \(n\)
的转移路径所经过的两种转移路径数量相同,那么他们的贡献也相同。枚举第二条转移路径的数量即可计算贡献。这样做的复杂度是
\(\mathcal{O}(\frac{n}{x})\) 。根据调和级数的理论,这样的做法是
\(\mathcal{O}(n\log n)\) 的。
有一道平衡树优化 dp 转移的题目,比较有意思。
\href{/pdf/20210310/A.pdf}{A}
\href{/pdf/20210310/A.pdf}{B}
\subsection{\texorpdfstring{\href{/pdf/20210310/C.pdf}{C.
最大价值}}{C. 最大价值}}\label{c.-ux6700ux5927ux4ef7ux503c}
A 君有 \(n\) 个物品,每个物品有两个属性 \(a_i,b_i\),现在 A
君想从所有物品中挑选 \(k\) 个,并按一定顺序摆放好。
对于一个方案中,被摆在第 \(j\) 个位置(位置从 \(1\) 开始标号)的物品为
\(i\),它对这个方案产生的价值贡献为
\(a_i\cdot(j-1)+b_i\),一个方案的价值和为它所含的所有物品的贡献之和。
现在 A 君想知道对于所有可能的
\(k\)(\(1\le k\le n\)),在最优的选取以及摆放情况下能得到的方案价值和最大是多少。
接下来 \(n\) 行,每行两个整数 \(a_i, b_i\)。
\(100\%\) 的数据:\(n \le 300\,000\), \(0 \le a_i \le 10^6\),
\(0 \le b_i \le 10^{12}\)
输出 \(n\) 行,每行两个整数 \(a_i, b_i\) ,表示
\(k=1, 2, 3, 4, \cdots , n\) 时的最大总价值。
对于一个大小为 \(k\) 的方案,如果确定了选择哪 \(k\) 个,就可以直接按照
\(a\) 排序,然后依次算出贡献(排序不等式)
那么显然可以考虑先对原物品按照的 \(a\) 排序,然后依次做背包即可。 \[
dp[i][j] = \max\{dp[i-1][j], dp[i-1][j-1] + a_i\times j+b_i\}
\] 观察到一条结论,选定 \(k\) 个物品的答案,一定是在原来 \(k-1\)
个物品的答案基础上添加一个物品,而不会拿走。
如果考虑了 \(i\) 种物品,那么对于选取 \(j\) 个物品的方案,一定是从选
\(j-1\)
个物品的方案添加一个物品得到的。也就是说,每新考虑一个物品,上面的转移一定是在某个
\(j\)
之前都是继承上一轮的答案,之后都是新增这个物品的答案,维护差分数组即可。可以平衡数维护每一个
\(j\) 处的答案的差分。
官方题解附有结论证明。
\end{document}
[INFO] [makePDF] LaTeX run number 1
[INFO] [makePDF] LaTeX output
This is XeTeX, Version 3.141592653-2.6-0.999995 (TeX Live 2023/Debian) (preloaded format=xelatex)
restricted \write18 enabled.
entering extended mode
(.../input.tex
LaTeX2e <2023-11-01> patch level 1
L3 programming layer <2024-01-22>
(.../article.cls
Document Class: article 2023/05/17 v1.4n Standard LaTeX document class
(.../[system]
(.../xcolor.sty
(.../color.cfg)
(.../xetex.def)
(.../[system]
(.../geometry.sty
(.../keyval.sty)
(.../ifvtex.sty
(.../iftex.sty)))
(.../amsmath.sty
For additional information on amsmath, use the `?' option.
(.../amstext.sty
(.../amsgen.sty))
(.../amsbsy.sty)
(.../amsopn.sty))
(.../amssymb.sty
(.../amsfonts.sty))
(.../unicode-math.sty
(.../expl3.sty
(.../l3backend-xetex.def))
(.../unicode-math-xetex.sty
(.../xparse.sty)
(.../l3keys2e.sty)
(.../fontspec.sty
(.../fontspec-xetex.sty
(.../fontenc.sty)
(.../fontspec.cfg)))
(.../fix-cm.sty
(.../ts1enc.def))
(.../unicode-math-table.tex)))
(.../lmodern.sty)
(.../xeCJK.sty
(.../ctexhook.sty)
(.../xtemplate.sty)
(.../xeCJK.cfg))
(.../upquote.sty
(.../textcomp.sty))
(.../microtype.sty
(.../etoolbox.sty)
(.../microtype-xetex.def)
(.../microtype.cfg))
(.../setspace.sty)
(.../parskip.sty
(.../kvoptions.sty
(.../ltxcmds.sty)
(.../kvsetkeys.sty)))
(.../fancyvrb.sty)
(.../bookmark.sty
(.../hyperref.sty
(.../kvdefinekeys.sty)
(.../pdfescape.sty
(.../pdftexcmds.sty
(.../infwarerr.sty)))
(.../hycolor.sty)
(.../auxhook.sty)
(.../nameref.sty
(.../refcount.sty)
(.../gettitlestring.sty))
(.../pd1enc.def)
(.../intcalc.sty)
(.../puenc.def)
(.../url.sty)
(.../bitset.sty
(.../bigintcalc.sty))
(.../atbegshi-ltx.sty))
(.../hxetex.def
(.../stringenc.sty)
(.../rerunfilecheck.sty
(.../atveryend-ltx.sty)
(.../uniquecounter.sty)))
(.../bkm-dvipdfm.def))
(.../xurl.sty)
No file input.aux.
*geometry* driver: auto-detecting
*geometry* detected driver: xetex
(.../mt-LatinModernRoman.cfg)
Package hyperref Warning: Rerun to get /PageLabels entry.
(.../omllmm.fd)
(.../umsa.fd)
(.../mt-msa.cfg)
(.../umsb.fd)
(.../mt-msb.cfg)
LaTeX Font Warning: Font shape `TU/ARPLUKaiCN(0)/b/n' undefined
(Font) using `TU/ARPLUKaiCN(0)/m/n' instead on input line 116.
[1]
Package xeCJK Warning: Unknown CJK family `\CJKttdefault' is being ignored.
(xeCJK)
(xeCJK) Try to use `\setCJKmonofont[<...>]{<...>}' to define
(xeCJK) it.
[2] [3] (.../input.aux)
LaTeX Font Warning: Some font shapes were not available, defaults substituted.
LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.
)
Output written on .../input.pdf (3 pages).
Transcript written on .../input.log.
[INFO] [makePDF] Rerun needed
Package hyperref Warning: Rerun to get /PageLabels entry.
LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.
[INFO] [makePDF] LaTeX run number 2
[INFO] [makePDF] LaTeX output
This is XeTeX, Version 3.141592653-2.6-0.999995 (TeX Live 2023/Debian) (preloaded format=xelatex)
restricted \write18 enabled.
entering extended mode
(.../input.tex
LaTeX2e <2023-11-01> patch level 1
L3 programming layer <2024-01-22>
(.../article.cls
Document Class: article 2023/05/17 v1.4n Standard LaTeX document class
(.../[system]
(.../xcolor.sty
(.../color.cfg)
(.../xetex.def)
(.../[system]
(.../geometry.sty
(.../keyval.sty)
(.../ifvtex.sty
(.../iftex.sty)))
(.../amsmath.sty
For additional information on amsmath, use the `?' option.
(.../amstext.sty
(.../amsgen.sty))
(.../amsbsy.sty)
(.../amsopn.sty))
(.../amssymb.sty
(.../amsfonts.sty))
(.../unicode-math.sty
(.../expl3.sty
(.../l3backend-xetex.def))
(.../unicode-math-xetex.sty
(.../xparse.sty)
(.../l3keys2e.sty)
(.../fontspec.sty
(.../fontspec-xetex.sty
(.../fontenc.sty)
(.../fontspec.cfg)))
(.../fix-cm.sty
(.../ts1enc.def))
(.../unicode-math-table.tex)))
(.../lmodern.sty)
(.../xeCJK.sty
(.../ctexhook.sty)
(.../xtemplate.sty)
(.../xeCJK.cfg))
(.../upquote.sty
(.../textcomp.sty))
(.../microtype.sty
(.../etoolbox.sty)
(.../microtype-xetex.def)
(.../microtype.cfg))
(.../setspace.sty)
(.../parskip.sty
(.../kvoptions.sty
(.../ltxcmds.sty)
(.../kvsetkeys.sty)))
(.../fancyvrb.sty)
(.../bookmark.sty
(.../hyperref.sty
(.../kvdefinekeys.sty)
(.../pdfescape.sty
(.../pdftexcmds.sty
(.../infwarerr.sty)))
(.../hycolor.sty)
(.../auxhook.sty)
(.../nameref.sty
(.../refcount.sty)
(.../gettitlestring.sty))
(.../pd1enc.def)
(.../intcalc.sty)
(.../puenc.def)
(.../url.sty)
(.../bitset.sty
(.../bigintcalc.sty))
(.../atbegshi-ltx.sty))
(.../hxetex.def
(.../stringenc.sty)
(.../rerunfilecheck.sty
(.../atveryend-ltx.sty)
(.../uniquecounter.sty)))
(.../bkm-dvipdfm.def))
(.../xurl.sty)
(.../input.aux)
*geometry* driver: auto-detecting
*geometry* detected driver: xetex
(.../mt-LatinModernRoman.cfg)
(.../omllmm.fd)
(.../umsa.fd)
(.../mt-msa.cfg)
(.../umsb.fd)
(.../mt-msb.cfg)
LaTeX Font Warning: Font shape `TU/ARPLUKaiCN(0)/b/n' undefined
(Font) using `TU/ARPLUKaiCN(0)/m/n' instead on input line 116.
[1]
Package xeCJK Warning: Unknown CJK family `\CJKttdefault' is being ignored.
(xeCJK)
(xeCJK) Try to use `\setCJKmonofont[<...>]{<...>}' to define
(xeCJK) it.
[2] [3] (.../input.aux)
LaTeX Font Warning: Some font shapes were not available, defaults substituted.
)
Output written on .../input.pdf (3 pages).
Transcript written on .../input.log.