2018 Wannafly summer camp Day3--Travel】的更多相关文章

Travel 描述 题目描述: 魔方国有n座城市,编号为1~n.城市之间通过n-1条无向道路连接,形成一个树形结构. 澜澜打算在魔方国进行mm次旅游,每次游览至少一座城市.为了方便,每次旅游游览的城市必须是连通的.此外,澜澜希望游览所有城市恰好一次. 澜澜想知道有多少种旅游方案满足条件,两个方案不同当且仅当存在某一次旅游游览了不同的城市. 澜澜不会数数,所以只好让你来帮他数方案. 输入: 第一行一个整数t表示数据组数 (1≤t≤100). 每组数据第一行两个整数n,m(1≤m≤n≤105,Σn≤…
连通块计数 描述 题目描述: 小 A 有一棵长的很奇怪的树,他由 n 条链和 1 个点作为根构成,第 i条链有 ai​ 个点,每一条链的一端都与根结点相连. 现在小 A 想知道,这棵长得奇怪的树有多少非空的连通子树,你只需要输出答案对 998244353 取模的值即可 输入: 第一行一个正整数 n 第二行 n 个正整数 a1​…an​ 1≤n≤10^5 1≤ai​≤10^7 输出: 输出答案对998244353 取模后的值 样例输入 21 1 样例输出   6包含中心的联通块数量 ∏(ai+1)…
Utawarerumono 描述 题目描述: 算术是为数不多的会让久远感到棘手的事情.通常她会找哈克帮忙,但是哈克已经被她派去买东西了.于是她向你寻求帮助. 给出一个关于变量x,y的不定方程ax+by=cax+by=c,显然这个方程可能有多个整数解.久远想知道如果有解,使得p2​∗x^2+p1​∗x+q2​∗y^2+q1​∗y最小的一组整数解是什么.为了方便,你只需要输出p2​∗x^2+p1​∗x+q2​∗y^2+q1​∗y的最小值. 输入: 第一行三个空格隔开的整数a,b,c(0≤a,b,c≤…
New Game! 描述 题目描述: Eagle Jump公司正在开发一款新的游戏.泷本一二三作为其员工,获得了提前试玩的机会.现在她正在试图通过一个迷宫. 这个迷宫有一些特点.为了方便描述,我们对这个迷宫建立平面直角坐标系.迷宫中有两条平行直线 L1​:Ax+By+C1​=0, L2​:Ax+By+C2​=0, 还有 n个圆 Ci​:(x−xi​)^2+(y−yi​)^2=ri^​2.角色在直线上.圆上.圆内行走不消耗体力.在其他位置上由S点走到T点消耗的体力为S和T的欧几里得距离. 泷本一二…
区间权值 小Bo有\(n\)个正整数\(a_1\)--\(a_n\),以及一个权值序列\(w_1\)--\(w_n\),现在她定义\(f(l,r)=(\sum_{i=l}^r a_i^2) *w_{r-l+1}\). 现在他想知道\(\sum_{l=1}^n \sum_{r=l}^n f(l,r)\)的值,需要你来帮帮他,你只需要输出答案对\(10^9+7\)取模后的值. 输入格式 第一行一个正整数\(n\) 第二行\(n\)个整数\(a_1\)--\(a_n\) 第三行\(n\)个整数\(a_…
Shopping 描述 题目描述: 你要买n件物品,其中有一些是凳子. 商场正在举行促销活动,如果购物车中有至少一个凳子,那么你可以半价购买这个购物车中最贵的一个物品. 你有m辆购物车,请最小化你的花费. 输入: 第一行一个整数t表示数据组数 (1≤t≤100). 每组数据第一行两个整数n,m(1≤n,m≤1000),接下来n行每行两个整数ai​,bi​,分别表示第i件物品的价格以及它是否是凳子(1≤ai​≤105,0≤bi​≤1). 输出: 每组数据输出一行一个实数表示最小花费,保留一位小数.…
Knight 题目描述: 有一张无限大的棋盘,你要将马从\((0,0)\)移到\((n,m)\). 每一步中,如果马在\((x,y)(x,y)\),你可以将它移动到 \((x+1,y+2)(x+1,y+2)\), \((x+1,y-2)(x+1,y−2)\),\((x-1,y+2)(x−1,y+2)\),\((x-1,y-2)(x−1,y−2)\), \((x+2,y+1)(x+2,y+1)\),\((x+2,y-1(x+2,y−1)\),\((x-2,y+1)(x−2,y+1)或(x-2,y-…
2019 wannafly winter camp Name Rank Solved A B C D E F G H I J K day1 9 5/11 O O O O O day2 5 3/11 O O O day3 6 6/10 O O O O O Ø day4 5 6/11 O O O O O O day5 3 4/10 O O O O day7 7 7/10 O O O O O O O day8 7 5/10 O O O O O…
2019 wannafly winter camp day 3 J 操作S等价于将S串取反,然后依次遍历取反后的串,每次加入新字符a,当前的串是T,那么这次操作之后的串就是TaT.这是第一次转化. 涉及到子序列的题目的一个常用技巧是:对于子序列来说,贪心的能取就取. 因此本题对于每个字符串,需要维护的东西有f[i][j]表示第一次取i,下一次想取j的方案数:g[i]表示第一次取i的方案数:vis[i]表示当前字符i在这个串中有没有出现.具体的转移需要仔细讨论.…
2020 CCPC Wannafly Winter Camp Day1 C. 染色图 定义一张无向图 G=⟨V,E⟩ 是 k 可染色的当且仅当存在函数 f:V↦{1,2,⋯,k} 满足对于 G 中的任何一条边 (u,v),都有 f(u)≠f(v). 定义函数 g(n,k) 的值为所有包含 n 个点的无自环.无重边的 k 可染色无向图中的边数最大值.举例来说,g(3,1)=0,g(3,2)=2,g(3,3)=3. 现在给出三个整数 n,l,r,你需要求解:\((\sum_{i=l}^rg(n,i)…
Travel 题目背景 SOURCE:NOIP2015-SHY4 题目描述 小 A 要进行一次旅行.这回他要在序号为 1 到 n 的 n 个城市之间旅行.这 n 个城市之间共有 m 条连接两个城市的单行公路,对于第 i 条公路的风景有一个评分 ai.小 A 有一个要求:挑选旅行路线时经过某条路时看到的风景比上一条经过的公路的风景评分更高.小 A 想看到尽可能多的风景,请你告诉他他能找到的最长的满足他要求旅行路线有多长.(每条公路长度视为1,可以重复经过一个城市) 输入格式 第一行为两个整数数 n…
目录 day1 F div1 爬爬爬山 (最短路) B div2 吃豆豆 (dp) J div2 夺宝奇兵(暴力) J div1 夺宝奇兵 (权值线段树) C div1 拆拆拆数 E div1 流流流动(冰雹猜想 ,树形dp) I div2 起起落落 (dp) I div1 起起落落 (权值线段树优化dp) day2 A div2 Erase Nodes(贪心) B div2 Erase Numbers III(贪心) H div1&2 Cosmic Cleaner(计算几何) K div1 S…
这道题实在是不该,我在化式子的时候,多此一举,把式子进行累加,导致自己当时化的式子是错的,这样导致自己卡了很久,也没想到好的思路,赛后重新分析一波,感觉巨™简单...难受的一逼. 这道题的关键在于,W这个东西,由于W序列是受L和R区间变化的,它的取值是由f(i,j)决定的,那么我们知道,肯定要把f(l,r)中 r-l+1相同的归到一处去,这是个思路,先不着急,我们可以先把表达式写出来. f(1,1)+f(1,2)+f(1,3)+f(1,4)+f(1,5) f(2,2)+f(2,3)+f(2,4)…
题目链接 \(Description\) 给定\(n\)个十维向量\(\overrightarrow{V_i}=x_1,x_2,...,x_{10}\).定义\(\overrightarrow{V}=x_1,x_2,...,x_{10}\)的模长\(|\overrightarrow{V}|=\sqrt{x_1^2+x_2^2+...+x_{10}^2}\).求有多少个四元组\(1\leq i,j,k,l\leq n\)满足\(|\overrightarrow{V_i}-\overrightarr…
题目链接 \(998244353\)写成\(99824435\)然后调这个线段树模板1.5h= = 以后要注意常量啊啊啊 \(Description\) 每个位置有一个\(3\times3\)的矩阵,要求支持区间赋值和求区间乘积. 输出答案对\(998244353\)取模后的结果. \(n,q\leq10^5\). \(Solution\) 裸的线段树+矩阵快速幂是\(O(3^3q\log^2n)\)的,因为维护区间乘的话,区间赋值为矩阵\(A\)的时候要赋值\(A^{r-l+1}\),带一个快…
题目链接:https://zhixincode.com/contest/14/problem/D?problem_id=206 样例输入 1  5 5 1 2 1 1 3 1 2 4 1 2 5 1 1 5 1 样例输出 1 20 样例输入 2  5 10 1 2 1 1 3 2 1 4 3 1 5 4 2 3 5 2 4 6 2 5 7 3 4 8 3 5 9 4 5 10 样例输出 2 146 题解: 首先,删除一条边不可能使得任意两座城市的最短距离变得更近,所以尽可能地多删除边不会有任何坏…
题目链接:https://zhixincode.com/contest/14/problem/I?problem_id=211 样例输入 1  3 5 2 1 1 2 1 2 1 1 2 3 2 1 样例输出 1 27 9 6 题解: 首先,比较明显地是,每进行一次操作 $1$,对于目前的卡牌分配情况的种数,其中的 $1/3$ 种是被撤掉位子的人留下,其余 $2/3$ 种是“擂主”留下. 而且,进行完一次操作 $1$ 后,“擂主”位子上分配到的卡牌,石头剪刀布的数目比依然是均等的,因此不会影响后…
题目链接:https://zhixincode.com/contest/14/problem/A?problem_id=203 time limit per test: 1 secondmemory limit per test: 256 megabytesinput: standard inputoutput: standard output 样例输入 1  5 5 3 4 1 2 样例输出 1 3 4 2 5 1 题解: 首先例如 $p = [3,4,2,1]$,则 $A(p) = [3,3…
Replay Dup4: 没想清楚就动手写? 写了两百行发现没用?想的还是不够仔细啊. 要有莽一莽的精神 X: 感觉今天没啥输出啊, 就推了个公式?抄了个板子, 然后就一直自闭A. 语文差,题目没理解,导致写了接近三小时的A吧, 最后看了一眼群, 发现自己理解错了. 以及感觉自己最近不会交流,有点毒瘤了. A:二十四点* Solved. 思路: Div2 暴力跑? #include<bits/stdc++.h> using namespace std; int n; ]; int main()…
solve 4/11 补题:5/11 A 二十四点* Code:pai爷  zz Thinking :pai爷 打表找规律,1张牌 10个不可能的 2张牌有 43 种不可能的 3张牌 有74 种不可能的 4 张牌有 5 种不可能的 #include<iostream> #include<cstring> #include<cmath> #include<cstdlib> #include<cstdio> #include<algorithm…
题目传送门 思路: 按照题意描述,所有y挑战x的关系最后会形成一棵树的结构,n个人的总方案数是 3n 种,假设一个人被挑战(主场作战)a次,挑战别人(客场)b次,那么这个人存活到最后的方案数就是3n*(2/3)a*(1/3)b 也就是我们知道这个a和b就可以得到答案了,那要怎么维护呢. 这里用到并查集(jls niub!) 我们用w表示一个节点总共比赛的场次数,v表示主场作战的场次数,如果我们现在把y这个集合并向x这个集合(y挑战x),那么对于XW和Xv肯定都加一,而Yw也加一,如果我们接下来能…
点此看题面 大致题意:已知 \(p\)为\(n\)的一个排列,定义\(A(p)_i=min_{j=1}^ip_j\),若用\(q_i\)表示\(p\)第\(i\)小的前缀的长度(以值为第一关键字,下标为第二关键字),先给你\(q\),请你求出字典序最小的\(p\). 简单分析·基本结论 让我们来仔细研究一下样例: \(i\) \(1\) \(2\) \(3\) \(4\) \(5\) \(p_i\) \(3\) \(4\) \(2\) \(5\) \(1\) \(A(p)_i\) \(3\) \…
点此看题面 大致题意: 让你求出\(\sum_{i=1}^n\sum_{j=1}^n\mu(gcd(i,j))\). 莫比乌斯反演 这种题目,一看就是莫比乌斯反演啊!(连莫比乌斯函数都有) 关于莫比乌斯反演,详见这篇博客:初学莫比乌斯反演. 推式子 下面让我们来推式子. 首先,我们采用解决这种问题的常用套路,来枚举\(gcd\),就能得到这样一个式子: \[\sum_{d=1}^n\sum_{i=1}^{\lfloor\frac nd\rfloor}\sum_{j=1}^{\lfloor\fra…
点此看题面 大致题意: 给你一张图,定义\(dis(i,j)\)为\(i\)与\(j\)的最短距离,现要求删去若干条边,使得图仍然联通,且\(\sum_{i=1}^n\sum_{j=i+1}^ndis(i,j)\)最大. 一个贪心的思想 考虑到要使点与点间的距离最大,则多删边肯定是更优的. 又考虑图必须联通,则最后的图肯定是一棵树. 状压\(DP\) 看到数据范围如此之小(\(N\le14\)),自然会想到状压\(DP\)啦. 我们可以设\(f_{i,x}\)表示子集\(i\)在强制以\(x\)…
点此看题面 大致题意: 有\(n\)个人,第\(i\)个人坐在编号为\(i\)的座位上,每个人等概率有石头.剪刀.布中的一张卡片.有两种操作:第一种是第\(y\)个人挑战第\(x\)个人,如果胜利则\(x\)被淘汰,\(y\)坐到\(x\)的座位上,否则\(y\)被淘汰:第二种是询问第\(x\)个人存活的概率. 一个简单的结论 考虑被别人挑战,平或胜都不会被淘汰,因此存活率为\(\frac 23\). 考虑挑战别人,只有胜才不会被淘汰,因此存活率为\(\frac 13\). 因此,如果有一个人被…
#include<bits/stdc++.h>using namespace std;int a[1000007],b[1000007],c[1000007];int find_max(int lll,int rrr,int lenn){    int maxnn=0;    int summ=0;    for(int i=lll;i<=rrr;i++){        maxnn=max(maxnn,c[i]);        if(maxnn==lenn+i-lll)//这一段可以…
补题进度:9/10 A(多项式) 题意: 在一个长度为n=262144的环上,一个人站在0点上,每一秒钟有$\frac{1}{2}$的概率待在原地不动,有$\frac{1}{4}$的概率向前走一步,有$\frac{1}{4}$概率向后走一步,问t秒后这个人在x点的概率是多少,结果模998244353 分析: 我们设: 留在原地:$1$ 前进一步:$x$ 后退一步:$x^{-1}$ 那么最后实际上是要求n=262144意义下$(\frac{x^{-1}}{4}+\frac{1}{2}+\frac{…
思路:这个题在秦皇岛的时候好像没有写出来,反正我是没有写出来,题解是听懂了:把直线和圆都看做一个结点,圆和直线用点到直线的距离与半径差求出来,圆和圆之间用点和点之间的距离和半径差表示,最后最短路跑一遍就行了. #include<cstdio> #include<vector> #include<cmath> #include<cstring> #include<iostream> #include<algorithm> #define…
传送门:https://www.nowcoder.com/acm/contest/203/I 题意: 求每个大都会到最近的一个大都会的距离. 思路: 把每个大都会设为起点,跑一遍最短路.在跑最短路的时候,假设有一个大都会A,它不能更新一个非大都会B点,就说明这个B到另一个大都会C很近,用dis[u] + dis[B] + w[u][B]更新A点的答案. #include <algorithm> #include <iterator> #include <iostream>…
A. Ability Draft solved by RDC 60min start, 148 min AC, 1Y 题意:两只 Dota 队伍,每队 \(n\) 个英雄,英雄一开始无技能,他们需要按照给定的顺序在技能池中选技能,每个英雄需要恰选择 \(s\) 个普通技能 和 1 个终极技能,每个技能有强度值,双方都想最大化己方和对方强度值之差,双方都是明智的. 做法:注意到,每个英雄,要么选择最强的终极技能要么选择最强普通技能.考虑 DP,用 \(f[x][mask_1][mask_2]\)…