UOJ
  • 2025-01-08tuack 配置文件转 uoj 配置文件
    #!/bin/envpython3fromtuackimportbasefromosimportsystembase.init()name="printer"deflndata(src,dst):system(f"ln-snf{src}.in{dst}.in")system(f"ln-snf{src}.ans{dst}.out")system(f"cpstatement
  • 2024-12-24sth
    被迫营业。oi-wiki你最忠实的助手。一般可以使用的配置:虚拟机noilinux(vscode+lemonlime)->适用于整个比赛包,例如多校[含data,sources...]不知道从何讲起。关于其他的科技:服务器etc:鱼与熊掌不可兼得。搞钱没前途。然后是平时的训练。在高强度下(停课):上午联考下午
  • 2024-12-09UOJ #791. 【CTS2023WC2023】树据结构
    题面传送门很高妙的交互题。以下均默认已经进行了\(n\)次操作将值随机排列。首先考虑一条链怎么做。有一种类似快速排序的方法:随机一个排列,每加入一个位置,就以这个位置为分割线将值分成两半,这可以从小到大枚举值,然后和最大值交换实现。这样的操作次数是这个点和前面最近的加入
  • 2024-12-05洛谷二刷P4715 【深基16.例1】淘汰赛(c嘎嘎)
    题目链接:P4715【深基16.例1】淘汰赛-洛谷|计算机科学教育新生态题目难度:普及 刷题心得:本题是我二刷,之前第一次刷是在洛谷线性表那个题单,当时印象深刻第 一篇题解是用的树来做,当时我不屑一顾(觉得花里胡哨),现在我开始刷树的题目着字分析,第一次学习到线性树的用法现
  • 2024-09-27CF套题3翻译(uoj)
    \(A\)题:给定两个\(01\)串,问\(A\)是否可以通过相邻两位的异或和或操作得到\(B\)串.异或:\(01/10→11,11→10/01\)或:\(10/01→11\)\(B\)题:题目大意:给定\(n\)个正整数,请将适当调整他们的顺序,使得两个相同的数之间的距离的最小值最大。注意距离定义为两个数之间的数的个数,
  • 2024-09-27单调队列优化DP解题报告(uoj转)
    Fence\(K\)很小,考虑\(K\)开一维,\(N\)开一维\(f_{i,j}\)表示前\(i\)个工匠粉刷前\(j\)个木板的最大花费\(f_{i,j}=\min_{k=j-l_i}^{s_i-1}f_{i-1,k}+(j-k)\cdotp_i\)拆开为\(f_{i,j}=f_{i-1,k}-k\cdotp_i+j\cdotp_i\)\(i\)固定时维护\(f_{i-1,k}-k\cdotp_i\)的最小
  • 2024-08-18UOJ #889. 【UNR #8】二维抄袭检测
    题面传送门首先你需要会\(n=2\)时候的贪心,这个比较简单,直接能走就走就行了。然后\(n=3\)的时候就不能能走就走了,可能在中间就拐到第三行了。但是容易发现的是我们只会在最后一个能走到第三行的位置走到第三行。我们需要找到这个位置。一个比较重要的观察是,如果其后面匹配长
  • 2024-08-18UOJ #888. 【UNR #8】里外一致
    题面传送门唉,不会生成函数。考虑一种出现次数为\(x\)的数,它可以被分到其中一边,也可以两边同时分。前者会有\(1\)的系数,后者会有\(2^x-2\)的系数。用生成函数来刻画,则一种出现次数为\(c\)的数的GF为\(x+\frac{1}{x}+2^c-2\),而我们要求的就是所有出现过的数的GF乘起
  • 2024-08-10UOJ #712. 【北大集训2021】简单数据结构
    Description你有一个长度为\(n\)的序列\(a\),下面你要进行\(q\)次修改或询问。给定\(v\),将所有\(a_i\)变为\(\min(a_i,v)\)。将所有\(a_i\)变为\(a_i+i\)。给定\(l,r\),询问\(\sum_{i=l}^ra_i\)。\(1\leqn,q\leq2\times10^5,0\leqa_i,v_i\leq10^{12}
  • 2024-07-02UOJ #807. 【UR #25】装配序列
    题面传送门首先根据Dliworth定理,原问题等价于前缀LIS。考虑如何做到\(O(n^2)\)求出LIS的变化点(显然这只有\(n\)个)。按照值从小到大考虑,记\(f_{i,j}\)表示考虑到第\(i\)个值,长度为\(j\)的LIS最早在哪个前缀处出现,转移只需要two-pointers一遍就能更新。这个转
  • 2024-05-31【题解】UOJ#284 快乐游戏鸡
    题目大意给出一棵有\(n\)个节点的树,编号为\(i\)的点权为\(w_i\),在树上通过一条边需要花费时间\(1\),如果能通过一个点权为\(w_i\)的点当且仅当此时的死亡次数大于等于\(w_i\),否则会立即回到起点并且死亡次数加一。给出\(q\)组询问,每组询问给出起点\(s\)和终点\(t\),
  • 2024-05-31UOJ#884. 【UR #27】509 号迷宫
    有一个显然的\(\mathcalO(n^2)\)DP。考虑利用组合数优化,只在满足纵坐标\(y|p\)的位置记录状态并转移。有障碍,需要做容斥。四种转移:线对线、点对点、线对点、点对线组合计数算明白了就简单了。代码#include<bits/stdc++.h>usingnamespacestd;constexprintN=
  • 2024-05-30uoj项目部署的学习实践和基于JUnit进行的项目测试
    基于JUnit进行的项目测试对不同功能点进行测试:检测忘记密码功能、注册功能能否正常使用脚本文件:registerTest.java1.检测忘记密码功能。事先注册好一个账号用于测试测试步骤:输入账号输入电子邮箱输入验证码1)用例标题:验证码错误情况测试数据:账号2021127电子邮箱2848250
  • 2024-05-30uoj概述
    一、基本工作原理UOJ主要由两部分组成:网页端和测评端。顾名思义,网页端就是用来通过网页与用户交互的,测评端则是在用户发出测评请求时负责测评并将结果发送给网页端的。网页端什么是网页端?顾名思义,就是管网页的部分。网页端又分为网页前端和网页后端。所谓网页前端,就是你打开浏
  • 2024-05-30uoj项目部署中题目管理的相关学习与应用
    一.概述1.新建题目和管理界面只有超级管理员有权限新建题目,每次新建题目都必须由超级管理员完成。在题目页面,超级管理员或该题目的管理员可以通过管理按钮进入题目管理界面。题目管理界面分为三个选项卡:编辑:题面编辑页面管理者:题目管理员管理页面数据:题目数据管理页面以及
  • 2024-05-30[后续更新中] DeerOJ的工作原理
    服务端收到请求后,会运行web文件夹下的index.php文件(由同目录下的.htaccess决定)index.php文件的内容截图如下:index.php会加载所需的函数库和类库,具体如下:require$_SERVER['DOCUMENT_ROOT'].'/app/libs/uoj-lib.php';该句是调用/app/libs/下的php文件,用来调用一些
  • 2024-05-30【持续更新】创新实训
    项目简介随着互联网+的生态模式和人工智能的产业化发展,程序设计已成为计算机专业乃至工科学生的必备技能之一。学生学习程序设计,不仅能提高代码水平能力,学会如何写代码,如何写好代码,而且能锻炼学生在今后面对项目开发等实际应用场景时解决问题的能力。因此,很多同学在刚刚接触到编
  • 2024-04-04UOJ #514. 【UR #19】通用测评号
    Description有\(n\)个管道,每个管道的最大大小为\(a\),每次等概率随机选一个没满的管道里放一个石子,当所有管道的大小都\(\geqb\)时停止,问装满的管道的期望个数,与\(998244353\)取模。\(1\len\le250,1\leb<a\le250\)。Solution先考虑一个引理:有\(n\)个集合,有
  • 2024-01-29UOJ #33 树上 GCD
    套路地,对每个\(g\in[1,n-1]\)求出有多少对无序对\((u,v)\)满足\(g|f(u,v)\),然后就可以用一个倒序枚举的\(\mathcalO(n\logn)\)的容斥求出答案。考虑点分治,对每个经过分治中心\(c\)的\(u\rightsquigarrow\text{lca}(u,v)\rightsquigarrowv\)只需分两种
  • 2024-01-28Solution Set #9
    在cdqz的集训结束了,虽然总榜比较好看但感觉只过了一堆平凡题。怎么一个月就省选了(恼)150【IOI2016】shortcut(拆绝对值)考虑确定了架桥架在哪里之后怎么算(经过桥的)直径。实际上就是\(\max(|pos_u-pos_x|+|pos_v-pos_y|+d_u+d_v)\)。大力转切比雪夫(大概)然后二分,先排除\(|pos_