大概只有比较有意思又不过分超出能力范围的题叭.   可是兔子的"能力范围" \(=\varnothing\) qwq. 「CF 1267G」Game Relics   任意一个状态可以描述为 \((m,s)\),表示剩下 \(m\) 个·总价值为 \(s\) 的物品未选.若当前决策为 X 操作,那么由于决策的确定性,我们必然不停 X 直到出货.所以代价为 \[\frac{x}{2}\left(\frac{n}{m}+1\right), \] 若当前决策为 C 操作,代价则为 \(\…
「ARC 107A」Simple Math   Link.   答案为: \[\frac{a(a+1)\cdot b(b+1)\cdot c(c+1)}{8} \] 「ARC 107B」Quadruple   Link.   枚举 \(i=c+d\),则 \(a+b=i+k\),乘法原理计数. 「ARC 107C」Shuffle Permutation   Link.   由于矩阵内无相等元素,所以行和列的顺序可以直接乘法原理.以对行的排列方案计数为例,并查集维护所有可以交换位置的行,则行的方案…
Win10下编译OpenJDK8 编译环境 Windows10专业版64位: 编译前准备 Tip: 以下软件的安装和解压目录尽量不要包含中文或空格,不然可能会出现问题 安装 Visual Studio 2010 Professional 在windows下编译JDK需要使用Visual Studio 2010 Professional,推荐下载地址:https://msdn.itellyou.cn/ 最好下载英文版的IDE,不然可能会出现问题,下载完成后只用勾选安装C++部分就行 准备OpenJ…
前提概要 Java的class字节码并不是机器语言,要想让机器能够执行,还需要把字节码翻译成机器指令.这个过程是Java虚拟机做的,这个过程也叫编译.是更深层次的编译. 在编译原理中,把源代码翻译成机器指令,一般要经过以下几个重要步骤: 根据完成任务不同,可以将编译器的组成部分划分为前端(Front End)与后端(Back End). 前端编译主要指与源语言有关但与目标机无关的部分,包括词法分析.语法分析.语义分析与中间代码生成. 后端编译主要指与目标机有关的部分,包括代码优化和目标代码生成等…
问题概括 静态常量可以再编译器确定字面量,但常量并不一定在编译期就确定了, 也可以在运行时确定,所以Java针对某些情况制定了常量优化机制. 常量优化机制 给一个变量赋值,如果等于号的右边是常量的表达式并且没有一个变量,那么就会在编译阶段计算该表达式的结果. 然后判断该表达式的结果是否在左边类型所表示范围内. 如果在,那么就赋值成功,如果不在,那么就赋值失败. 注意如果一旦有变量参与表达式,那么就不会有编译期间的常量优化机制. 结合问题,我们就可以大致猜出,如果常量能在编译期确定就会有优化,不能…
TestNG介绍 TestNG是Java中的一个测试框架, 类似于JUnit 和NUnit, 功能都差不多, 只是功能更加强大,使用也更方便. 详细使用说明请参考官方链接:https://testng.org/doc/index.html TestNG安装 <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.10&l…
技术分析 大家都知道Eclipse已经实现了自己的编译器,命名为 Eclipse编译器for Java (ECJ). ECJ 是 Eclipse Compiler for Java 的缩写,是 JavaTM 认可的 Java 编译工具(类似 javac).可以单独下载使用. IDEA所支持的编译器,也有几种:javac(Java原生编译器).ECJ(支持使用Eclipse编译器).ACJ编译器(不太清楚),其中默认使用的是Javac,同时也推荐使用Javac. 有兴趣可以看看ECJ编译器的相关使…
  大家好屑兔子又来啦! [A - Lexicographic Order]   说个笑话,\(\color{black}{\text{W}}\color{red}{\text{alkingDead}}\) 和 \(\color{black}{\text{O}}\color{red}{\text{neInDark}}\) 在这题各罚了两次时,我因为不会所以没有被罚. [B - AtCoder Quiz]不会. [C - Inverse of Permutation]不会. [D - Cuttin…
finalize方法是什么 finalize方法是Object的protected方法,Object的子类们可以覆盖该方法以实现资源清理工作,GC在首次回收对象之前调用该方法. finalize方法与C++的析构函数的区别 finalize方法与C++中的析构函数不是对应的,C++中的析构函数调用的时机是确定的(对象离开作用域或delete掉),但Java中的finalize的调用具有不确定性,不建议用finalize方法完成"非内存资源"的清理工作. finalize方法合适清理的对…
目录 问题引入 思考 Lagrange 插值法 插值过程 代码实现 实际应用 「洛谷 P4781」「模板」拉格朗日插值 「洛谷 P4463」calc 题意简述 数据规模 Solution Step 1 Step 2 证明 代码 「CF 995F」Cowmpany Cowmpensation 题意简述 数据规模 Solution Step 1 Step 2 证明 代码 「CF 662F」The Sum of the k-th Powers 题意简述 数据规模 Solution 代码 「BZOJ 3…