选座( ticket_chooser ) 不会正解,欢迎讨论 //60分 #include<cstdio> #define max(a,b) (a)>(b)?a:b #define min(a,b) (a)<(b)?a:b ; template <typename T> inline void read(T &x){ T f=;register ; ;ch=getchar();} +ch-';ch=getchar();} x*=f; } inline ?x:-x…
串行调度(serial) 除等价条件, 根据题意设置限制条件,然后求字典序最小拓扑序. 简洁版 #include<bits/stdc++.h> using namespace std; ; ; ; template <typename T> inline void read(T &x){ T f=;; ;ch=getchar();} +ch-';ch=getchar();} x*=f; } vector<int>lastR[N];int lastW[N]; bi…
分组加密器(encryption) 题解点这里 #include<map> #include<stack> #include<vector> #include<cstdio> #include<iostream> #define debug(x) cerr<<#x<<" "<<x<<endl; using namespace std; typedef long long ll;…
--> 贪心算法 1)题解 •        分别用V0.V1和V>=2表示度为0.1以及至少为2的顶点集合 •        对于每个顶点,维护三个属性: •        degree 邻居的个数 •        degree2 邻居中度为2的顶点数 •        id     编号 Pseudo-code •        initialize V0, V1, V>=2 and (degree, degree2, id) of each node •        while…
/* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm;…
时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 You are given a list of integers a0, a1, …, a2^k-1. You need to support two types of queries: 1. Output Minx,y∈[l,r] {ax∙ay}. 2. Let ax=y. 输入 The first line is an integer T, indicating the number of test cases. (…
描述 You are given a list of integers a0, a1, …, a2^k-1. You need to support two types of queries: 1. Output Minx,y∈[l,r] {ax∙ay}. 2. Let ax=y. 输入 The first line is an integer T, indicating the number of test cases. (1≤T≤10). For each test case: The fi…
题意:平面上n个点,问你是否存在一种黑白染色方案,使得对于该方案,无法使用一条直线使得黑色点划分在直线一侧,白色点划分在另一侧.如果存在,输出一种方案. 如果n<=2,显然不存在. 如果所有点共线,且n>2,只需交替染色即可. 设凸包上的点数为K,如果K==n,且n==3,不存在,如果n>3,只需交替染色即可. 如果K<n,只需凸包上点涂黑,内部点留白即可. #include<cstdio> #include<algorithm> #include<c…
题意:给你一个序列(长度不超过2^17),支持两种操作:单点修改:询问区间中最小的ai*aj是多少(i可以等于j). 只需要线段树维护区间最小值和最大值,如果最小值大于等于0,那答案就是minv*minv: 如果最大值小于等于零,那么答案就是maxv*maxv: 要是最小值小于零,最大值大于零,答案就是minv*maxv. #include<cstdio> #include<cstring> #include<algorithm> using namespace std…
题意:给你一个串,仅含有a~g,且每个字母只出现最多一次.和一个光标初始位置,以及一个目标串,问你最少要多少的代价变化成目标串. 有五种操作:在光标前添加一个未出现过的字母,代价1. 删除光标前或者光标后的字母,代价1. 光标左移或者右移,代价0.5. 哈希,把串弄成一个八进制数,加上一个光标位置,状态数不超过8^8. 直接跑dijkstra即可. 要注意初始化的时候,可以单独记一个数组,表示用过的状态,仅仅重置这些状态,防止初始化复杂度过高. #include<cstdio> #includ…