【题解】P5283 [十二省联考 2019] 异或粽子 很好的优先队列+可持久化字典树练手题! 题目链接 P5283 [十二省联考 2019] 异或粽子 - 洛谷 题意概述 给定长度为 \(n\) 的序列 \(a_i\)。一个区间 \([l,r](1 \le l \le r \le n)\) 的价值为从 \(a_l\) 到 \(a_r\) 之间的每个数字进行的
负载平衡问题 费用流 主要是建图,其他都是模板 每个仓库视为一个点,设置一个源点,对仓库有一条边,容量就为仓库原有的库存量,费用为 0 然后相邻的仓库之间有一条容量为无穷大,费用为 1 的边 每个仓库对汇点有一个边,容量为平均值,费用为 0 #include <iostream> #include <cstdio>
软件补丁问题 状态压缩 + 最短路 对于当前 bug 的状态,可以作为一个点,表示的方式用状态压缩的方式,接着边就是通过一个补丁,转换到另外一个 bug 状态 直接最短路,dijkstra 或 bfs 或 SPFA 都可 #include <iostream> #include <cstdio> #include <algorithm> #include <queue> using na
关机&重启操作 shutdown -h now 立刻进行关机 shutdown -h 1 一分钟后关机,并通知所有登录的终端 shutdown -r now 现在重新启动计算机 halt 关机,作用和上面一样 reboor 重启 sync 把内存数据同步到磁盘 注:不论是重启系统还是关闭系统,建议首先运行sync命令,进行内存
#include <bits/stdc++.h> #define endl putchar('\n') #define lson(x) tree[x].ch[0] #define rson(x) tree[x].ch[1] #define siz(x) tree[x].size #define fa(x) tree[x].fa #define lazy(rt) tree[rt].lazy #define sum(x) tree[x].sum #define val(x)
洛谷题面 题目大意 给出一个 \(n\) 个点的带权有向图 \(G\),选出 \(m+1\) 条链,问能否全部点覆盖,如果不能,问 不能 覆盖的点权最小值最大是多少。 (这里的 \(n,m\) 和原题是反着的) 题目分析 其实就是求 \(\verb!DAG!\) 的最小可重复路径点覆盖。我们可以先将这个图传递闭包,求出两个点
$upd:$ $2020.02.29$ 将(大部分)所有图论所涉及知识、模型写了上来;仅限于学了、学了没写题、写了没总结、学了没看懂四种情况;时间有限没有写完,计划明天补坑; $upd:2020.03.01$ 完善了部分二分图的总结 $upd:2020.03.02$ 补充网络流部分,按照abs博客中的等级:$level 1->level2^-$ $upd:2
1. 事件循环的概念: event loop is all the application code that is inside callback functions(non-top-top-level code) 2. 事件循环的步骤 强调的是两个另外的任务队列,他们执行的时机在每个主任务执行完成之后 3. 整个循环 这里强调的是整个事件循环的大层面,服务器启动,然后进
\(CF1615G\) Description 给定一个数列 \(a\),你需要将所有 \(a_i=0\) 的位置填上一个 \(1\sim n\) 的正整数,使得数列的「值」最大。 数列的值定义为满足以下条件的 \(k\) 的个数: 存在 \(i\in\Z[1,n-1]*i*∈Z[1,*n*−1]\),使得 \(a_{i}=a_{i+1}=k\)。 输出值最大的序列,若有多解,输
正则: 一、正则基本符号: \d:数字[0-9] \D:非数字 \w:数字+字母+下划线[ 0-9 a-z _ ] \W:非数字+字母+下划线 \s:空格 \S:非空格 二、正则特殊符号: .:任意字符 ?:0-1次(可出可不出) +:至少一次 *:任意次 三、正则的运用: 六位数密码:[1-9]\d{5}; 六到十二位数的密码:[1-9]\d{5,11}; 六位数密码,字
NC23036 华华听月月唱歌 题目 题目描述 月月唱歌超级好听的说!华华听说月月在某个网站发布了自己唱的歌曲,于是把完整的歌曲下载到了U盘里。然而华华不小心把U盘摔了一下,里面的文件摔碎了。月月的歌曲可以看成由 \(1\) 到 \(N\) 的正整数依次排列构成的序列,它现在变成了若干个区间,这
A fatal error has occurred and VcXsrv will now exit. Cannot open log file "/tmp/win-kexsl_******.log" Please open /tmp/win-kexsl_keiplyer.log for more information. Vendor: The VcXsrv Project Release: 1.20.14.0 Contact: marha@users.sourceforge.ne
高考结束之后进行简单估分,觉得复读和上带学五五开,所以先把写代码的能力捡起来再说。如果真的复读了又要停更一年了 这里都是简单题,建议初学者阅读学习。 CF1691E Number of Groups 题面 大意:有一堆红色蓝色的线段,定义不同颜色的线段连通为当且仅当他们至少有一个公共点。问连
no crossing(代码源每日一题) no crossing - 题目 - Daimayuan Online Judge 区间DP 从暴力思路入手,站在 now 号点,当前可行的区间是 [l, r], 还要走 k 步,因此状态数为 \(n^4\), 总转移复杂度为 \(m\), 总复杂度为 \(n^4+m\) 因为路径的性质,不能横跨已经走过的点,因此 now 号点一定
\(T1\)魔法师 \(f(x)\)是各个数位之积,当\(f(x)\ne 0\),每一位只能是\(1\sim 9\),考虑数位积的质因数分解只能是\(2,3,5,7\)的形式,考虑对所有的\((a,b,c,d)\)计算满足\(f(x)=2^a\times 3^b\times 5^c\times 7^d\)的\(x\)的数量 这个东西考虑用数位\(dp\)求 \(f[i][0/1][a][b][c][d]\)
#include <bits/stdc++.h> using namespace std; typedef long long ll; const int maxn = 1e6 + 5; const int mod = 1e9 + 7; const int INF = 2147483647; inline int read() { int x = 0, f = 1; char ch = getchar(); while(ch > '9
题目: Byteland is a beautiful land known because of its beautiful trees. Misha has found a binary tree with nn vertices, numbered from 11 to nn. A binary tree is an acyclic connected bidirectional graph containing nn vertices and n−1n−1 edges. Each
洛谷P1903 [国家集训队] 数颜色 / 维护队列 & 带修莫队相关 [洛谷P1903 [国家集训队] 数颜色 / 维护队列]([P1903 国家集训队] 数颜色 / 维护队列 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)) 带修莫队\(block = pow(n, 2.0 / 3.0)\)。 [奇技淫巧](题解 P1903 【【模板】
用python scapy实现包的抓取,脚本如下 #coding=utf-8 from scapy.all import * count = input("Input catch tcp num:") now_time = datetime.now().strftime( "%Y%m%d%H%M%S" ) filename = "./pcap/email_dns_data_{0}.pcap".format(now_time) #filter
孤岛营救问题 bfs + 状态压缩 对钥匙的状态进行压缩,然后 bfs 剪枝搜索 #include <iostream> #include <cstdio> #include <queue> using namespace std; int dp[20][20][1 << 16 | 1]; int dr[20][20][20][20]; int dor[20][20]; const int xi[4] = {0, 0, 1, -1}; const int y
题目传送门 思路 一看就是构造题,显然要分成若干块 \(5\times5\) 的小块,然后发现对于一个小块中,只有最中间的那格可以从别的小块中一步跳进来。 然后我们打一个爆搜,打出从当前小块的中间走到各个方向相邻的小块的方案。 这样就可以在小块间移动了。 由于我们需要把所有的点都绕一遍
一道找规律题 直接找一下规律就可以了。 先算出来后面可以有多少个9,然后枚举第一位是什么,算出有多少答案就可以了。 代码 #include<cstdio> #include<algorithm> #define ll long long using namespace std; ll n,pow10[11]; int main(){ pow10[0]=1; for(int i=1;i<=10;i++)pow
独立想+写出来了,纪念一下。 思路: 离线线段树做法。 注意到,如果 \(i\) 成为了队长,他的队伍里必然包含了所有 \(r\leq r_i\) 且年龄差小于 \(k\) 的人,因为队员之间是没有限制的。 首先发现,对于一组 \(x\),\(y\) 的询问,对于任意 \(i\) 满足 \(r_i\geq\max(r_x,r_y)\) 且 \(a_i\) 在 \(
题目链接 题目 有一个长度为 \(n\) 的数组 \(a\) 和一个长度为 \(n−1\) 的数组 \(b\),初始位置为 \(pos=1\),每一天可以选择得到 \(a_{pos}\)元钱,或者花费 \(b_{pos}\)元钱(钱数不能为负)使得 \(pos\leftarrow pos+1\) 现在希望买一台 \(c\) 元的电脑,最少需要多少天。 Polycarp is wo
时间的获取及时间各格式间的转换是比较常用的操作,但一是多种语言经常容易弄混,二是同一种语言同一个功能可能有不同的实现函数,导致每次处理时间经常要百度所以来记录一下。 另外个人真不喜欢同样功能有多种写法的形式,从理想角度说多种实现方式让不同的人都能以其喜欢的方式进行编写