首页 > TAG信息列表 > Joi
【题解】「JOI 2015 Final」JOI 公园
Description Solution Code #include <cstdio> #include <algorithm> #include <queue> #define int long long using namespace std; const int MAXN = 1e5 + 10, MAXM = 4e5 + 5, INF = 1e18; int n, m, C; int head[MAXN], nxt[MAXM], ver[MAXM], edge[node.js 如何验证表单
# 表单验证 第一步 安装 npm i joi 安装 npm i @escook/express-joi 创建一个文件夹名为schema文件名为user.js 里面引入 const joi = require('joi') 验证的几个api * string() 值必须是字符串 * alphanum() 值只能是包含 a-zA-Z0-9 的字符串 * min(length) 最小长度 *P6117-[JOI 2019 Final]コイン集め【贪心】
正题 题目链接:https://www.luogu.com.cn/problem/P6117 题目大意 平面上有\(2n\)的硬币,要给每个硬币匹配一个\(x\in[1,n],y\in[1,2]\)的位置(不能重复)。 使得所有硬币和它们匹配位置的曼哈顿距离之和最小。 \(1\leq n\leq 10^5,-10^9\leq X_i,Y_i\leq 10^9\) 解题思路 先把每个P6118-[JOI 2019 Final]珍しい都市【树的直径】
正题 题目链接:https://www.luogu.com.cn/problem/P6118 题目大意 给出一棵\(n\)个点的树,对于一个点\(x\)来说,独特的点\(y(y\neq x)\)是指不存在\(z\)使得\(dis(y,x)=dis(z,x)\),其中\(x\neq z,y\neq z\)。 每个点有个颜色,对于每个点\(x\)求对于它来说独特的点所包含的颜色种类数Nodejs后端:验证表单数据
Nodejs后端:验证表单数据 使用 joi 第三方包,joi官方文档。 1. 安装 相关包 npm install joi npm install @escook/express-joi 2. 定义验证规则模块 // 导入定义验证规则包 const joi = require('joi') // 定义用户名和密码的验证规则 const username = joi.string().alphanum().koa2 使用 Joi
封装函数: const { ErrorModel } = require("../model/resModel"); function schema(method, schemas) { async function validateSchema(ctx, next) { let data = null; if (method === "get") { data = await ctx.request.query; } els「JOI 2018 Final」毒蛇越狱
「JOI 2018 Final」毒蛇越狱 题面: JOI 研究所有 条毒蛇,这些毒蛇编号为 \(0,1,\dots,2^L-1\) 。每条毒蛇从头到尾被分成 \(L\) 段,每段的颜色为蓝、红中的一种。对于毒蛇 \(i\),令 \(i=\sum_{k=1}^{L}{c_k\times 2^{L-k}}.(0\le c_k\le 1)\) 为 \(i\) 的二进制展开,若 ,则毒蛇 的第 段「JOI 2021 Final」机器人
「JOI 2021 Final」机器人 首先走一条路且有其他路的颜色与这条路相同,有两种情况。 把这条路道路的颜色改变 把其他与这条路颜色相同的路的颜色改变。 又因为我们有 \(M\) 种颜色,一共只有 \(M\) 条路,所以我们可以做到将一条边涂改成一种独一无二的颜色。 由于重复JOI 系列乱做
「JOISC 2014 Day3」稻草人 题目描述 Solution 对于一个点 \(A\),能与其组成答案的点 \(B\),必然不存在另一点 \(C\),其在 \(A,B\) 所组成的矩形之中。 二维题目的一个常用 trick:按一维排序后作为时间轴,降为一维。 如果按 \(x\) 排序之后按 \(y\) 插入每一个点,问题变为区间最大后缀题解「JOI Open 2021」决算报告
给定一个数组 \(a\),请找一个子序列使得 \(a_n\) 被选中。 相邻两个间距离不超过 \(d\)。 比该序列中前面所有数大的数最多。 赛场上考虑了一个 dp,但因为错解想了很久, 没有优化成功。 \(f_i\) 表示从后面到 \(i\) 的最大答案,那么转移的条件就是 \(a_j > a_i\) 且能通过小于 \(aJOI Open 偷学记录
只偷了一题,被z宝吊打 /ll 「JOI Open 2016」摩天大楼 把 a 排序,考虑 \(a_{i+1}-a_i\) 对于 \(\sum\) 的贡献,显然取决于一个 \(\le a_i\),另一个 \(\ge a_{i+1}\) 的 \((f_i,f_{i+1})\) 的数量,也就是把前 \(i\) 小的数字插入数列,左/右尚未确定的数目,对这个 dp 就行了 但具体情况P6881 [JOI 2020 Final] 火事 题解
Link. Luogu Description. 给定一个序列,初始为 \(\{a_i\}\)。 每时刻 \(\forall i\in(1,n],a_i\leftarrow\max(a_{i-1},a_i)\)。 问第 \(t\) 时刻 \(\sum_{l=1}^ra_i\)。 Solution. 想了一年,要么就是建树然后暴跳,要么就是分段然后合并。 最后无一例外假了,因为没有优化到本质。 本JOISC 2016 Day 1 棋盘游戏
题意 JOI 君有一个棋盘,棋盘上有 \(N\) 行 \(3\) 列 的格子。JOI 君有若干棋子,并想用它们来玩一个游戏。初始状态棋盘上至少有一个棋子,也至少有一个空位。 游戏的目标是:在还没有放棋子的格子上依次放棋子,并填满整个棋盘。在某个格子上放置棋子必须满足以下条件之一: 这个格子的上下JOI 2015 FInal 舞会
JOI 2015 FInal 舞会 题目链接:#2727. 「JOI 2015 Final」舞会 - 题目 - LibreOJ (loj.ac) 很明显,答案具有单调性,我们考虑二分答案。那么问题就变成了怎么写出 check 函数。 我们发现,根据题意,每三个点最后都会变成一个点,那我们不断进行缩点,画个图看看? 我们发现,这「JOI 2020 Final」奥运公交 题解
「JOI 2020 Final」奥运公交 Description Input Output Sample Input 样例 1 输入: 4 5 1 2 4 4 1 3 2 1 4 3 1 2 4 1 6 1 2 4 2 5 样例 2 输入: 4 10 1 2 4 4 1 2 4 4 1 3 2 1 1 3 2 1 4 3 1 2 4 3 1 2 4 1 6 1 4 1 6 1 2 4 2 5 2 4 2 5 样例 3 输入: 4 4 1 2 0 4 1 3 0 1 4 3 07201. 「JOI 2020 Final」奥运公交
Description&Data Constraint 对于全部数据,\(2\le N \le 200,1\le M \le 5\times 10^4,1\le U_i,V_i\le N,U_i\not= V_i,0\le C_i\le 10^6,0\le D_i\le 10^9\)。 Solution 首先明确一个性质,翻转的边需要在最短路树上,否则对答案没有贡献。 首先求出 \(1\) 到 \(i\),\(i\) 到 \(n\)题解「JOI 2020 Final」只不过是长的领带
Description 见「JOI 2020 Final」只不过是长的领带 Analysis 看到最小化最小值,很自然地便会想到二分。 假设为求 \(C_k\),我们二分出一个 \(t\),需判断它是否符合题目要求。 形式化地,我们需验证其是否满足存在一个排列 \(p\),使得对于任意\(i\),有\(A_{p_i}-B_i\le t,p_i\ne k\)。 一P7405-[JOI 2021 Final]雪玉【二分】
正题 题目链接:https://www.luogu.com.cn/problem/P7405 题目大意 n n n个点在坐标轴上, q q q次每P7405-[JOI 2021 Final]雪玉【二分】
正题 题目链接:https://www.luogu.com.cn/problem/P7405 题目大意 \(n\)个点在坐标轴上,\(q\)次每次所有点向一个方向移动若干步,每个点的权值是它第一次覆盖的区间长度(也就是一个区间只能贡献到第一次经过它的点)。 求所有点的最终权值。 \(1\leq n,q\leq 2\times 10^5\) 解题思路#2742. 「JOI Open 2016」销售基因链
题面 戳这里 思路 把n个字符串用string存,按字典序排序,建一棵trie,再倒序,排序,再建一棵trie 我们发现,对于trie树上的每一个节点,包含它的字符串的序号是连续的,区间左端点是包括这个节点的字典序最小的字符串的序号,区间右端点是包括这个节点的字典序最大的字符串的序号 设正序排使用Joi来验证数据模型
Joi模块简介我们用nodejs实现一些功能时,往往需要对用户输入的数据进行验证。然而,验证是一件麻烦的事情,很有可能你需要验证数据类型,长度,特定规则等等,在前端做表单验证时,我们常用的做法是使用正则,正则表达式也许可以一步到位,但是他只会给你true or false,如果想要知道数据不符合哪些JOI 2021 Final 做题记录
T1 「JOI 2021 Final」有趣的家庭菜园 4 显然我们先求\(A\)数组的差分 那么显然最后就是要让一段前缀的差分\(>0\),剩下的\(<0\) 不难发现一个操作是让至多一个差分\(+1\),至多一个差分\(-1\) 于是枚举波峰算两侧所需次数的\(max\)即可 code T2 「JOI 2021 Final」雪球 显然每个雪JOI 地牢题解
sub1就是thuwc2018d2t1弱化版 贪心策略就是:考虑下一个费用<当前点的点\(x\),可以用单调栈预处理。 如果当前点不能到达x,则加满。 否则加到恰好能够到达\(x\),然后能量值变为0。 sub2似乎可以倍增,但是和标算关系不大。 sub3考虑在\(n+1\)位置增加一个费用为\(-\inf\)的治疗泉。 判定后端数据验证模块Joi
概述 方便的后端验证前端数据合法性 官网:https://joi.dev/api/?v=17.3.0#introduction 使用步骤 安装 npm install joi 引入 const joi = require('joi'); 使用 /*定义验证规则*/ const schema = Joi.object({ username: Joi.string().min(2).max(20).required().error(newnodejs Joi报错:Joi.validate is not a function及解决方式
Joi时是avascript对象的规则语言和验证器,通常可以在用户登录时验证用户信息。 在数据校验时,报错:Joi.validate is not a function 先看代码: 1 const Joi = require('joi') 4 const schema = { 5 username: Joi.string().min(2).max(5).required().error(new Error('usernam