快读(__int128)
i128 read () { i128 x = 0, f = 1; char ch = getchar (); while (ch < '0' || ch > '9') { if (ch == '-') f = - 1; ch = getchar (); } while (ch >= '0' && ch <= '9') { x = x * 10 + ch - '0'; ch = getchar (); } return x * f;}void print (i128 x) { if (x < 0){ putchar ('-'); x = - x; ...
声明
2024.03.31 Update:新增《Splay(其三)》。
历史更新记录
2024.02.21 Update:文件层级重构,新增《后缀自动机(SuffixAutomaton 旧版)》、《回文自动机(PAM)》
龙年快乐~
2023.12.29 Update:新增《树状数组(Fenwick 新版)》。
2023.12.16 Update:新增《库函数重载》《二项式(Binomial 任意模数计算)》《线性基(Basis)》《线段树(其四)》《Splay(其二)》。
欢迎通过各种渠道向我投稿~
2023.11.02 Update:最新版本都更新在 GitHub 了,但是注意到有些群u貌似不方便Fan Qiang,于是现在跟进上了 GitHub 的项目进度。
自用!非本人原创,仅作整理归档。大部分代码来自于 CodeForces Jiangly 的提交,部分来自于GYM、牛客、Atcoder。文章博客链接,文章 GitHub 链接。
灵感参考链接:beiyouwuyanzu/cf_code_jiangly
目录
目录
声明
目录
一、杂类
01 - in ...
C 箭串
题目传送门
#include<bits/stdc++.h>using i128 = __int128;using i64 = long long;#define endl '\n'#define pii std::pair<int ,int>#define fix(x) std::fixed << std::setprecision(x)const i64 inf = 1e17 + 50, MAX_N = 1e5 + 50, mod = 1e9 + 7;std::mt19937_64 rng(std::chrono::system_clock::now().time_since_epoch().count());int find(std::vector<int> &parent, int x) { while (parent[x] != x) { parent[x] = parent[parent[x]]; x = parent[x]; } return ...
API请求
HTTP动词
GET: 读取(READ)POST: 新建(CREATE)PUT: 更新(UPDATE)DELETE: 删除(DELETE)
PATCH 部分更新
URL宾语
宾语 顾名思义,是一个名词,URL作为API的宾语是作用HTTP的对象,普遍以复数形式存在.
以下为错误示例:
/getAllCars/createNewCar/deleteAllRedCars
正确示例:
/aticles/users/cars
煮个栗子
GET /zoos:列出所有动物园POST /zoos:新建一个动物园GET /zoos/ID:获取某个指定动物园的信息PUT /zoos/ID:更新某个指定动物园的信息(提供该动物园的全部信息)PATCH /zoos/ID:更新某个指定动物园的信息(提供该动物园的部分信息)DELETE /zoos/ID:删除某个动物园GET /zoos/ID/animals:列出某个指定动物园的所有动物DELETE /zoos/ID/animals/ID:删除某个指定动物园的指定动物
过滤(filter)
...
组件基础
组件定义
Vue组件定义在一个.vue的文件中,被称为单文件组件SFC :
<script setup>import { ref } from 'vue'const count = ref(0)</script><template> <button @click="count++">You clicked me {{ count }} times.</button></template>
组件使用
若要使用一个子组件,需要在父组件中导入。假设我们把计数器组件放在了一个叫做 ButtonCounter.vue 的文件中,这个组件将会以默认导出的形式被暴露给外部:
<script setup>import ButtonCounter from './ButtonCounter.vue'</script><template> <h1>Here ...
部分示例来源于vuejs中文官网
Vue3对Vue2向下兼容,但部分不兼容
语法
文本插值:
在HTML中插入文本
Message: {{ msg }}```## HTML插值:上述操作只能插入纯文本,可以使用`v-html`插入`html`文本```html <p>Using text interpolation: {{ rawHtml }}</p><p>Using v-html directive: <span v-html="rawHtml"></span></p>
Attribute 绑定
对使用的元素属性进行绑定 想响应式绑定一个Attribute,但又不能使用{{ }}时,可使用v-bind指令:
<div v-bind:id="num"></div>
v-bind指令指示 Vue 将元素的idattribute 与 ...
以下激活方式仅供个人使用,请勿商用,存在法律风险
安装破解包
点击这里安装破解包
进入到网站后,我们可以看到一堆的Jetbrains的工具图标,我们找到最上方的ja-netfilter.zip
下载后解压大一个位置,确保能找到,打开解压后的文件夹进入ja-netfilter/scripts文件夹,里面有好几个文件,执行框选的文件
会先后弹出两个窗口,一定要点确定
修改编译器的VM选项
若无法使用,需要激活可以先试用30天
添加以下三行代码
--add-opens=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED--add-opens=java.base/jdk.internal.org.objectweb.asm.tree=ALL-UNNAMED-javaagent:C:\Tool\ja-netfilter\ja-netfilter.jar
注意,第三行需要改为自己保存上面下载的文件的路径
激活码激活工具
重启编译器(学计算机的应该都知道为什么),在https://jet.bytebarn.top/网页中找到对应 ...
codeforces
未读A. Milya and Two Arrays
A. Milya and Two Arrays
题目描述
给你两个长度为n的数组a和b,a,b中的每个元素都至少出现两次。你可以重新排列a,最后要使得ai+bi的不同种类大于等于3。
解题思路
统计a和b的种类数cnt1,cnt2,因为长度为n且每个种类的数至少出现两次,所以a中每个数贡献的种类数就是出现次数,出现次数,min(
出现次数,cnt2),只要cnt1∗cnt2>=3就行。赛时没想的很清楚写的cnt1+cnt2>=4,其实一样。
参考代码
void solve() { int n; std::cin >> n; std::set<int> a, b; for (int i = 0; i < n; ++ i) { int x; std::cin >> x; a.insert(x); } for (int i = 0; i < n; ++ i) { int x; std::cin & ...
配置环境
首先我们得先配置好环境
我这里用的是IDEA,也可以用android studio
首先在IDEA中安装一个叫Android的插件
下载好后我们需要创建项目
框选的位置一定要修改(language有误,应该选择kotlin)
可能会提示下载SDK,直接下载就行了
创建好后,我们需要修改gradle镜像源
将框选的地址换为
https://mirrors.cloud.tencent.com/gradle/gradle-8.2-all.zip
修改后,重新加载gradle项目即可
项目搭建
首先我们找到文件app\src\main\java\com\example\myapplication\MainActivity
若没有修改项目名称,那路径就和我一样的
将以下代码复制到上面的文件中,项目名称不同下述代码的第一行不用复制,粘贴的时候要保留原有的第一行
package com.example.myapplicationimport android.annotation.SuppressLintimport android.app.AlertDialogimport a ...
创建文件夹
mkdir demo
初始化
npm init -y
打开编译器创建文件index.js并填入以下信息
function main () { console.log("Hello, world");}main();export default main;export function Hello(name) { console.log('${ name }}');}
打开package.json文件
现在我们来熟悉下这个文件。
字段
备注
name
npm包的名称,也就是publish后的名称
version
每次publish的时候记得修改这个,必须要是新版本
desdescription
对这个npm包的描述
main
链接到这个包后,默认打开的文件
keywords
关键词。若是自行使用,可以不配置
author
作者。填写自己的用户名就行
现在在json文件中添加以下信息
"files" ...