寒武纪camp Day4】的更多相关文章

补题进度:7/11 A(博弈论) 略 B 待填坑 C(贪心) 题意: 一个序列是good的当且仅当相邻两个数字不相同.给出一个长度为n的数列,每个数字是ai.定义一种操作就是把a中某个元素拿到首位去,问最少需要多少次操作才能让数列a变成good的.如果不可行则输出-1. n<=1000,1<=ai<=n 分析: 我们先来判-1的情况,当且仅当出现次数最多的那个数字的出现次数超过了$\frac{n}{2}$ 然后我们再来考虑一般的情况,我们把那些需要移动的数字全部拿出来记录一下,即b[i]…
寒武纪camp网络测试赛 地址:oj点我进入 A(树形dp+树链剖分) 题意: 分析: 考虑树形dp,f0(x)和f1(x)分别表示以x为根的子树,不取x点或取x点的最大合法子集的元素个数 那么对于一个询问来说,答案就是max(f0(x),f1(x)),我们的任务就是对于每次修改操作维护所有f数组的变化 假设我们新加入了一个x节点,很明显只有x以及x的祖先们的f值会改变 首先f1(x)=f0(x)+1,因为我多取一个x节点一定是合法的(题目保证权值从小到大) 然后考虑x的祖先fa,应该有f0(f…
置置置换 已经提交 已经通过 63.89% Total Submission:72 Total Accepted:46 题目描述 wlswlswls有一个整数nnn,他想请你算一下有多少1...n1...n1...n的排列(permutation)满足:对于所有的i(2≤i≤n)i(2 \le i \le n)i(2≤i≤n),若iii为奇数,则a[i−1]<a[i]a[i - 1] < a[i]a[i−1]<a[i],否则a[i−1]>a[i]a[i - 1] > a[i]…
题目链接:https://zhixincode.com/contest/18/problem/I?problem_id=267 题目描述 输入描述 输出描述 一行一个整数表示答案. 样例输入 1 320 115 1020 2 样例输出 1 60 题解: 首先肯定的是,这 $n$ 次选择必然是分为两段的,前一段全部是召唤,后一段全部是加攻. 然后我们只需要考虑,这两段的数目即可,然后我们假设这个函数和最后的总攻击力是一个单峰函数,就可以上三分. 那么接下来考虑在确定多少张牌召唤,多少张牌加攻的前提…
题目链接:https://zhixincode.com/contest/18/problem/G?problem_id=265 题目描述 wls有一个整数 $n$,他想请你算一下有多少 $1...n$ 的排列(permutation)满足:对于所有的 $i(2 \le i \le n)$,若 $i$ 为奇数,则 $a[i−1]<a[i]$,否则 $a[i−1]>a[i]$.请输出答案 $\mod 1e9 + 7$. 输入描述 一行一个整数 $n$. $1≤n≤1000$ 输出描述 一行一个整数…
题目链接:https://zhixincode.com/contest/18/problem/C?problem_id=261 样例输入 1 4 21 23 4 样例输出 1 Yes 样例输入 2 4 31 22 33 4 样例输出 2 No 题解: 判断一个边集是否为最小边覆盖,用最笨的方法,暴力枚举边集内所有边进行删除,看删除后是否依然覆盖所有点,这个可以用线段树优化成 $O(\log n)$ 的时间复杂度,就可以过了.这是一个比较直观的做法. AC代码: #include<bits/std…
题目链接:https://zhixincode.com/contest/18/problem/A?problem_id=259 题目描述 wls正在玩一个寻宝游戏. 宝藏一共有 $n$ 种,都藏在一个 $m$ 行 $m$ 列的网格中. 每种宝藏都恰好有两个. wls只能沿着网格走(上下左右四个方向). 他想依次获得 $1...n$ 类宝藏,然后再以 $n...1$ 的顺序获得剩下的宝藏. wls可以从任意点出发. 当wls到达某个宝藏的位置时,他可以选择取或不取这个宝藏. 请问他最少要移动多少距…
Replay Dup4: 两轮怎么退火啊? 简单树形dp都不会了,送了那么多罚时 简单题都不想清楚就乱写了,喵喵喵? X: 欧拉怎么回路啊, 不会啊. 还是有没有手误?未思考清楚或者未检查就提交, 导致自己白送罚时. A:夺宝奇兵 Solved. 考虑$所有i >= 2 需要跟i - 1 连两条边 只有两种可能 取最小的一种$ $注意n的两个点要连一条边$ #include<bits/stdc++.h> using namespace std; typedef long long ll;…
slove 6/11 A.夺宝奇兵 Code:zz Thinking:zz 贪心即可.这条路线里,点n1和点n2肯定是相连的,接下来,点(n-1)1和点(n-1)2分别是和n1和点n2相连的,一共有两种情况,选择距离短的即可,就这样一直往前贪心. //#pragma comment(linker, "/STACK:102400000,102400000") #include<iostream> #include<stdio.h> #include<stdl…
点此看题面 大致题意: 求出有多少个长度为\(n\)的排列满足对于奇数位\(a_{i-1}<a_i\),对于偶数位\(a_{i-1}>a_i\). 考虑打表? 考虑每次只有一个数\(n\),且\(n\le1000\),首先想到的自然是打表. 打表程序略(其实是手贱不小心删掉了). 然后放到\(OEIS\)上,我们就可以找到一个\(Python\)的伪代码. 于是\(hl666\)神仙就切了此题. 动态规划 当然,像我这么弱,不会\(Python\),只好去写\(DP\)了. 我们可以设\(f_…
点此看题面 大致题意: 有\(n\)种宝藏,每种各两个.让你依次获得\(1\sim n\)号宝藏,然后依次获得剩余的\(n\sim1\)号宝藏,求最少步数. 简单结论 其实这题有一个十分简单的结论,即你只需考虑相邻两号宝藏的两种匹配方式即可. 因为这是相互独立的.互不影响的,所以这道题就很水了. 也就是分别考虑两种匹配方式下的距离和,取\(min\)记录答案. 不过要注意第\(n\)号的两个宝藏之间的距离也要计入答案. 代码 #include<bits/stdc++.h> #define Tp…
点此看题面 大致题意: 给你一个边集的子集,问你这可不可能是这张图的最小边覆盖. 大致思路 考虑到,如果一条边连接的两个点度数都大于等于\(2\),则这条边完全可以删去. 因此,我们只要判断是否存在这样的边,就可以判断这个边集有没有可能是这张图的最小覆盖了. 代码 #include<bits/stdc++.h> #define Tp template<typename Ty> #define Ts template<typename Ty,typename... Ar>…
点此看题面 大致题意: 给你一张\(n*m\)的棋盘,问你一匹马在两个点中是否存在一条经过黑白格子数目相等的路径. 简化题目 首先,我们来简化一下题目. 考虑到马每次走的时候,所经过的格子的颜色必然发生变化,因此黑白格子数目相等这个条件就变成了起点和终点颜色是否相同. 当颜色相同时,我们就可以直接输出\(No\)了. 而接下来的问题就变成了:一匹马是否能从一个点到达另一个点. 在此之前,我们先默认\(n\le m\)(不满足条件\(swap\)即可). 当\(n=1\)时 此时,马完全无法移动,…
点此看题面 大致题意: 有一个\(n\)行\(m\)列的网格图,让你给每一条边设置一个通过次数(\(\ge1\)),使其成为欧拉回路,且通过次数总和最小. 初始化 首先,由于通过次数\(\ge1\),因此首先必然设置每条边通过次数为\(1\). 对于一个\(n\)行\(m\)列的网格图,共有\(n(m-1)+m(n-1)\)条边,如下图: 所以,初始化\(ans\)为\(n(m-1)+m(n-1)\). 仔细观察上图,可以发现,中间的点以及四个角落的点都为偶点,因此只需给边上的点连边,使其全为偶…
点此看题面 大致题意: 有\(n\)张卡牌,每张卡牌有两种用法:使场上增加一个伤害为\(a_i\)的生物,或使场上所有生物伤害增加\(b_i\).求最大总伤害. 三分 我们可以三分使用\(a_i\)的卡牌张数. 证明如下: 假设使用\(a_i\)的卡牌张数最优为\(x\),此时选用的\(b_i\)总和为\(t\). 证明:从最优决策点向左总伤害值递减 此时如果将一张选\(a_i\)的卡牌改为选\(b_i\),则伤害变化值应为\(b_i*(x-1)-a_i-t\). 因为原先状态为最优状态,所以该…
点此看题面 大致题意: 有\(6\)个人玩大富翁,共有\(n\)块地,进行\(500\)轮,已知每个人掷骰子掷出\(1\sim6\)的概率.当某人到达一块未被占领的地时,他可以占领它.求最后每个人占有地的期望块数. 概率\(DP\) 这应该是一道概率\(DP\)题. 我们可以定义\(Arrive_{i,j,k}\)表示第\(i\)个人在第\(j\)轮到达第\(k\)块地的概率,\(Never_{i,j,k}\)表示第\(i\)个人在第\(j\)轮及之前从未到达过第\(k\)块地的概率. 显然,初…
点此看题面 大致题意: 共两轮,每轮每人有一个标签,标签相同的人必须到同一个点集合.求所有人总路程的最小值. 爬山算法 这道题貌似有三种做法:模拟退火.高斯消元以及爬山算法. 相比之下,自然是爬山算法最简单了. 实现方式 设第一轮编号为\(i\)的节点要到点\(s1_i\)集合,第二轮编号为\(i\)的节点要到点\(s2_i\)集合. 则总答案应为: \[\sum_{i=1}^n(a_i.x-s1_{f1_i}.x)^2+(a_i.y-s1_{f1_i}.y)^2+(s1_{f1_i}.x-s2…
补题进度:10/10 A(树形dp) 略 B(dp) 题意: 给出一个n个关键节点的机械手臂,最开始是竖直的,即关键点在二维平面上的坐标分别是(0,0) (0,100) (0,200) (0,300)......,然后我们每次可以选择一个关键节点把它旋转45°(当然它上面的那些点也要跟着旋转) 现在有q个询问,每个询问输入一个矩形,问最少通过多少次操作使得机械手臂的末端落到这个矩形内 n<=10,q<=1000 分析: 首先关键点转的先后顺序对结果并没有影响,所以不妨我们先转下层的,再转上层的…
补题进度:6/10 A(状压dp) 题意: 有n个数字1,2,...,n,有m个限制(a,b),表示至少要有一个数字a排在数字b的前面 你需要构造出一个含有数字1~n的序列,数字可以重复多次,要求该序列满足所有的m个限制,并且长度最短,你只需要输出最短的长度 n<=18,m<=n(n-1) 分析: 首先,最多只需要2n长度就可以满足任何限制,即在前面放上1~n,在后面放上1~n,每个数最多只需要出现2次就够了,有的仅仅需要出现一次 我们很自然的想到枚举哪些数出现一次,把出现一次的放在中间,出现…
补题进度: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{…
补题进度:8/10 A(计数+BIT) 题意: 给一个长度为n的数组a[],任意选0<=i<=j<n,将a[i]~a[j]从小到大排序,形成新的数组.问有多少个不同的新数组. N,a[i]<=1000000 分析: 对答案有贡献的ij一定是a[i]不是i~j的最小值,a[j]不是i~j的最大值,于是我们就去统计这样区间的数量 我们用单调栈搞出r[i]表示i右边第一个比a[i]小的位置,l[i]表示i左边第一个比a[i]大的位置 枚举区间左端点,那么可行的右区间在[r[i],n]中,…
补题进度:8/10 A(组合计数) 题意: 一个人站在数轴原点,每秒有1/4概率向前走一步,1/4概率向后走一步,1/2概率不动,问t秒后在p位置的概率. t,p<=100000 分析: 枚举不动的个数,于是向前走的个数和向后走的个数都确定了,然后就可组合计数了. B(平面图k小割) 题意: 给出一个n个点的树,1是根节点,每个点有点权,输出前k小的包含1节点的连通块的权值. n<=10^5,k<=10^5,点权<=10^9 分析: 连通块不好处理,一个连通块实际上对于一个割集,我…
2088: 电音之王 描述 题目描述: 终于活成了自己讨厌的样子. 听说多听电音能加快程序运行的速度. 定义一个数列,告诉你a0,a1,m0,m1,ca\_0,a\_1,m\_0,m\_1,ca0​,a1​,m0​,m1​,c,定义an=m0an−1+m1an−2+ca\_n=m\_0a\_{n-1}+m\_1a\_{n-2}+can​=m0​an−1​+m1​an−2​+c对所有n≥2n\geq 2n≥2. 求(∏i=0kai)modM\left( \prod\_{i=0}^{k}{a\_i}…
Preface 菜鸡HL终于狗来了他的省选停课,这次的时间很长,暂定停到一试结束,不过有机会二试的话还是可以搞到4月了 这段时间的学习就变得量大而且杂了,一般以刷薄弱的知识点和补一些新的奇怪技巧为主. 偶尔也会打一些比赛找找手感(比如HHHOJ的比赛,Luogu比赛,以及comet OJ上之前的CCPC题) CF和CC看情况,主要是我真的不太喜欢读英文题的恐怖感觉233 希望这段时间的努力可以让我不跪省选吧 2-26 早上晨跑完了就和杨浩讲了停课的事,不出意外地很轻松就通过了. 然后回班拿了点东…
菜鸡队训练实录 比赛记录:[名称:奖项 / 排名] 2018: ZJPSC                       Bronze      / 86 CCPC Jilin                 Bronze      / 95 ICPC  Shenyang        Bronze      / 74 ICPC  Qingdao          Honorable / 241 CCPC Finals              Bronze    / 43 2019: ZJPSC…
Tree-AC比赛记录 2018 ICPC nanjing     Bronze  120/310 ICPC qingdao    Bronze  153/360 2019 ZJPSC             Silver 20/192 训练记录(自2019.1.20开始记录) 2019 CCPC-Wannafly Winter Camp(div2) CCPC-Wannafly Winter Camp Day1                         4/11   2019/1/20 C…
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…
微软MVP Openday 1月30日在北京召开,到时全国上百位 MVP 专家将齐聚北京.当然还有亚太的其他国家地区的MVP 也会来北京,1月31日微软 MVP 项目组主办的年度微软技术社区分享大会--2015 微软社区大课堂 Community Camp !. 超过 30 位微软最有价值专家 MVP 将为您呈现超过 20 场微软技术课程,一天的时间,不同技术主题,同一时段不同的内容同时进行,选你所爱的课程学习! 好久没有到首都去了,借这次机会去参加MVP OpenDay 和2015 MVP C…
这两天来到首都北京参加一年一度的MVP OpenDay 和 MVP Community Camp.其中,31号下午有我的课程:What Will You Make: Windows IoT应用开发入门.下面把这次活动的部分照片和演讲的PPT分享给大家. PPT链接:http://pan.baidu.com/s/1eQcTH8Q…
这是FreeCodeCamp其中一篇文章,趁着学习英文的时间,翻译这篇文章,其中讲到作者创建FCC过程,本文属于原创,第一次翻译,翻译还有诸多不足之处,请大家包含. 原文地址:https://medium.freecodecamp.com/transparency-in-action-free-code-camp-is-now-open-source-9dae1985d925?gi=a0f3f763f735#.gzz9xmlvl   透明行动:Free Code Camp 现在开源了 现在我们非…