//代码跑的很慢四秒会超时,结尾附两秒代码(标程) #include<bits/stdc++.h>using namespace std;typedef long long ll;const ll inf=0x3f3f3f3f;vector<pair<int,int>>tree[100010];ll dp[100010][110];/*dp[u][i]表示u节点为根的子树上选择了i个叶子节点,会经过u这个子树的边的权值和的最优值.转移方程如下:dp[u][i]=min(…
2018宁夏邀请赛 L Continuous Intervals(单调栈+线段树) 传送门:https://nanti.jisuanke.com/t/41296 题意: 给一个数列A 问在数列A中有多少个区间满足,区间内数字排序后是一段连续的连续的区间 即排序后区间内的任意元素满足 \(a_{i+1}-a_i<=1\) 题解: 根据题意可知 满足题意的区间应当满足以下性质: \(max-min==num-1\) 即当前区间最大的数字减去当前区间最小的数字等于区间数字的种类数 我们枚举区间的右端点…
------------7题弟弟,被各位半小时13题的大佬打惨了(滑稽)---------- 签到题就不写了. F :Moving On            (1247ms) 题意:给定大小为N的带点权,带边权的完全图,N<200. 然后Q次询问,每次给出(u,v,w),让你求在除了起点终点的其他途经点的点权都<=w的条件下的最短路. 思路:可以离线做的话,显然就是需要排序了. 然后想到floyd就是一个用点更新的最短路算法. 那么我们把floyd的第一层按点权排个序即可. 那么第k层的di…
题目链接 :https://nanti.jisuanke.com/t/26217 Description: There is a positive integer X, X's reversion count is Y. For example, X=123, Y=321; X=1234, Y=4321. Z=(X-Y)/9, Judge if Z is made up of only one number(0,1,2...9), like Z=11,Z=111,Z=222,don't cons…
>传送门< 前言 辣鸡网络赛,虽然我是个菜鸡,然而好几个队伍十几分钟就AK???我心态那会彻底崩了,后来群里炸了,话题直接上知乎热搜,都是2018ICPC宁夏网络赛原题,这怎么玩,拼手速?还有我竟然签到都做不出来QAQ太菜了题意 维护一个栈,每次操作之后询问栈里的最大值$x_{i}$,求$(1*x_{1})\wedge (2*x_{2})\wedge \cdots \wedge (n*x_{n})$的结果 分析 开始写的时候就就正常的维护栈,但是$WA$了,后来找了半天发现我想错了.我让栈顶元…
题目链接:https://nanti.jisuanke.com/t/28412 题意: 给出n个数的序列.问序列中有多少个区间满足,排序完之后任意两个相邻的数之差不大于1. 题解: 用max表示区间最大值,min表示区间最小值,cnt表示区间数字的种数.那么问题转化成求max-min=cnt+1的区间数. 用线段树维护每个区间的max-min-cnt最小值及最小值的个数,不用单独维护max,min和cnt.注意max-min >= cnt+1. 从1~n枚举R.对于每个枚举的R,更新以R为后缀的…
题目链接:https://nanti.jisuanke.com/t/28411 题意: 给出n(n<=36)个点的一个图.求点覆盖集数. 题解: 将n个点折半为L和R两部分.对于R内部的边,枚举状态判断是否可行.对可行的状态维护高维前缀和. 之后判断L内部的可行状态.对于每一个L内部的可行状态,在高维前缀和中找出与他成立的状态相乘就是答案. #include <bits/stdc++.h> using namespace std; ; typedef long long ll; int…
https://vjudge.net/problem/Gym-102222I 居然补到个防ak,刚开始不知道啥是循环左移右移(只能移一次),不好想.. 题意:以冒泡排序为背景 给你n,k 问在1~n的n个数的全排列中有几个能经过k次遍历就排好序了(这里排好序是指最长上升子序列长度至少为n-1 for(int i=1;i<n;++i) if(a[i]>a[i+1]) swap(a[i],a[i+1]) 这算一次遍历结果%mod(也给出来了 题解:冒泡k趟之后,新序列的第i项是原序列前min(i+…
https://vjudge.net/problem/Gym-102222L 题意:给你n个数的序列,让判断有几个区间满足排完序后相邻两数差都不大于1. 题解:对于一个区间 [L,R],记最大值为 max.最小值为 min.数 字种类数为 cnt,那么这个区间是 continuous interval 当且 仅当 max−min+ 1 = cnt. 考虑从小到大枚举 R,用线段树维护每个 L 的区间 [L,R] 的 max−min−cnt 的值. 由于总有 max−min+1 ≥cnt,那么只需…
https://vjudge.net/problem/Gym-102222K 题意:给定N点M边的无向图,每个点有点权.  点覆盖表示某个点集S{}覆盖了所有的边,其贡献是S中点权之积. 现在让你求所有满足条件的点集贡献之和.N<36,保证无重边,自环. 思路:点覆盖选谁不选谁肯定状压,N有36再来个折半,然后想办法合并两边.可以枚举左边那堆点的状态,对于左边没选中的那些点,若他连接的其他左边点都被选中了(否则该状态舍去), 求出他连接的右边那些点,即是右边的必选点,那么右边就可以选该必选点集或…
转化一下询问即为区间$max - min + 1 = cnt$,其中$cnt$表示区间内数的种类数. 即求有多少区间$max - min - cnt=-1$,注意到任意区间的$max-min-cnt \geq -1$,那么即维护区间$max-min-cnt$的最小值和最小值的个数,再看最小值等不等于$-1$就行了. 那么可以用扫描线扫右端点$r$,线段树维护左端点为$1, 2,\dots,r-1$的区间最小值和最小值的个数.每加入一个数,$r$这里必定为$-1$,所以当前区间最小值的个数就是答案…
[Luogu1912][NOI2009]诗人小G(动态规划) 题面 洛谷 题解 原来\(NOI\)这么多神仙题... 考虑一个极其明显的\(dp\) 设\(f[i]\)表示前\(i\)个句子产生的最小代价 转移也很显然,就懒得写了. 仔细思考一下,转移具有单调性. 但是我们用单调队列似乎无法直接维护. 继续思考一下,我们的转移结果一定是从前面一个位置转移过来的 并且一定是一段连续的位置都由那个位置转移过来. 同时,如果\(i\)从\(j\)转移过来,\(i+1\)从\(k\)转移过来,其中\(j…
[HDU6304][数学] Chiaki Sequence Revisited -杭电多校2018第一场G 题目描述 现在抛给你一个数列\(A\) \[ a_n=\begin{cases}1 & n = 1,2 \\ a_{n - a_{n-1}} + a_{n-1 - a_{n-2}} & n \ge 3\end{cases} \] 现在需要你计算它的前缀和 \(\sum\limits_{i=1}^{n}a_i \ mod \ (10^9+7)\) 数据范围 \(n(1\le n\le…
题目链接:http://codeforces.com/problemset/problem/93/B B. End of Exams time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Students love to celebrate their holidays. Especially if the holiday is th…
题目:P4715 [深基16.例1]淘汰赛 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 这道题因为数据范围不大,所以做法可以非常简单,使用一个vector加上pair就可以了: (实际上可以预处理2的次方数,但因为懒就直接用pow()了) 做法就是每次按顺序比较当前国家数的一半次,期间输掉的国家直接用erase()踢掉! 代码: #include <iostream> #include <cmath> #include <vector> using…
Balancing Act Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 17497   Accepted: 7398 Description Consider a tree T with N (1 <= N <= 20,000) nodes numbered 1...N. Deleting any node from the tree yields a forest: a collection of one or m…
A:签到题,正常模拟即可. #include<bits/stdc++.h> using namespace std; ; struct node{ int id, time; }; node a[maxn]; bool cmp(const node &a, const node &b){ if(a.id^b.id) return a.id < b.id; else return a.time < b.time; } int main() { std::ios::sy…
题目链接 https://nanti.jisuanke.com/t/28872 解析 递推 直接套杜教板子 AC代码 #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> #include <vector> #include <string> #include <map> #include <set> #includ…
由于要准备期末考试的缘故,时隔一个月之后我才想起来还有一场比赛没有总结. 大概是出去过的最远的地方了,宁夏理工学院离杭州有两千多千米. 不得不说感到了主办方满满的诚意,虽然是第一次办比赛,但是第一天组织的沙湖旅游,因为前期的沟通问题,热身赛当天早上特意包了一辆小车接送我们到沙湖,进行了一波真×公费旅游. 第一次遇到送书包的赛区,我开始还好奇怎么没有看到手提袋,当迎接的小姐姐掏出六个书包来的时候着实吃了一惊,突然对这个赛区好感大大增加.不过值得吐槽的是这个学校周围过于荒凉. 热身赛的题都比较简单,…
#define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <cstdio> #include <cstdlib> #include <algorithm> #include <cstring> #include <queue> using namespace std; ; ; //用来取余 int maze[maxn][maxn]; ][][][]; //行,列,k个数,…
一.火车晚点 星期五下午4.36的火车,我们3点到了长沙火车站.差不多4点了,提示,晚点1h45min,DZC马上说,不知道会不会延误郑州到西安的那趟车.过了一会,又提示,晚点2h17min,再过一会,又提示,晚点2h10min,后来一直变来变去.我们当时就决定,晚上10点左右如果还没到武昌,就要考虑改签了,并选好了下一班改签的车.期间,DZC一直在和他爸爸打电话,真心觉得,他爸爸还是非常非常关心他的.终于火车来了,还是晚点2h17min.进入车厢时,乘务员收走了车票,我说了一句,怎么把车票收了…
Moving On Firdaws and Fatinah are living in a country with nn cities, numbered from 11 to nn.Each city has a risk of kidnapping or robbery. Firdaws's home locates in the city uu, and Fatinah's home locates in the city vv.Now you are asked to find the…
整理代码 吝啬的国度 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来.现在,Tom在第S号城市,他有张该国地图,他想知道如果自己要去参观第T号城市,必须经过的前一个城市是几号城市(假设你不走重复的路).   输入 第一行输入一个整数M表示测试数据共有M(1<=M<=5)组每组测试数据的第一行输入一个正整数N(1<=N<=100000)和一个正整数S(1<=S<…
目录 题目地址 题干 代码和解释 参考 题目地址 hdu5438 题干 代码和解释 解答本题时参考了一篇代码较短的博客,比较有意思,使用了STL vector二维数组. 可以结合下面的示例代码理解: #include<iostream> #include<vector> using namespace std; int main() { vector<int> n[100]; int i; for(i=0;i<100;i++){ n[i].clear(); } n…
题目链接:http://acm.timus.ru/problem.aspx?space=1&num=2013 题目理解: 给定n个点的有向图: 下面n行,第一个数字表示点权,后面一个数字m表示有m条边. 起点是1. 对于每个点,输出2个值表示前驱点权1和该点点权2. 1.就是若有多条路径且全为“同一个值”输出“同一个值”,否则输出unknown: 若有一条路径若前驱节点的权值>0,输出前驱结点的权值,否则输出sober; 2.否则若该点点权>0输出该点点权,否则输出前驱点权值(若有多条…
1053 Path of Equal Weight (30 分)   Given a non-empty tree with root R, and with weight W​i​​ assigned to each tree node T​i​​. The weight of a path from R to L is defined to be the sum of the weights of all the nodes along the path from R to any leaf…
问题 G: JS Window 时间限制: 2 Sec  内存限制: 512 MB 题目描述 JSZKC has an array A of N integers. More over, he has a Window of length M which means the Window can contain M continuous integers in the array. At the begging, the Window is at the position 1 which mea…
假设已经linkcut完了树,答案显然是树的直径.那么考虑这条直径在原树中是怎样的.容易想到其是由原树中恰好k+1条点不相交的链(包括单个点)拼接而成的.因为这样的链显然可以通过linkcut拼接起来,而若选择不超过k条链则可能有链不得不被cut拆开,即使不会被拆开也可以通过选择单点来达到恰好k+1条(下设k=k+1). 那么问题变为在树上选择k条点不相交的链使边权和最大.最简单的dp就是设f[i][j]为i子树中选j条链的最大权值,且用一维012状态记录i这个点在子树中的度数,转移类似于一个树…
G.String Transformation 题目描述 Bobo has a string S = s1 s2...sn consists of letter a , b and c . He can transform the string by inserting or deleting substrings aa , bb and abab .Formally, A = u ? w ? v (“ ? ” denotes string concatenation) can be trans…
Lunar New Year is approaching, and Bob decides to take a wander in a nearby park. The park can be represented as a connected graph with n nodes and m bidirectional edges. Initially Bob is at the node 11 and he records 11on his notebook. He can wander…