ICode9

精准搜索请尝试: 精确搜索
  • CodeForces-1601B Frog Traveler2022-08-20 00:01:24

    Frog Traveler dp + bfs 感觉又像搜索 从后往前进行状态转移,像 \(bfs\) 一样保证当前搜索的是消耗次数最少的 状态转移因为是一个连续的区间,因此考虑当前能上升到的最大距离,只有能更新这个最大值,才进行状态转,保证每个位置只被访问一次 时间复杂度 \(O(n)\) #include <iostream> #i

  • CF1092E. Minimal Diameter Forest2022-08-19 17:03:18

    \(\texttt{Difficulty:2000}\) 题意 给定 \(n(1\le n\le 1000)\) 个点, \(m(0\le m\le n-1)\) 条边组成的森林,现在增加一些边,是森林成为一棵树,并且其直径最小,求最小直径以及方案。 思路 考虑让森林中每一棵树的直径的中点为根,然后按每棵树最长链的长度 \(l_i\) 排序,不断将根连到最

  • 暑假集训62022-08-19 07:00:08

    前两题只会打暴力,本来以为又要垫底了,结果还可以? A. 接力比赛 确实是背包,排序后每次跑上界为\(\sum w_i\),然后刚刚好卡过?? 随机数据跑的还是挺快的 code #include<cstring> #include<cstdio> #include<algorithm> #include<vector> #include<queue> #include<iostream> #include<s

  • 暑假集训六 [接力比赛,树上竞技,虚构推理,记忆碎片]2022-08-18 22:02:54

    暑假集训六 别问为什么从六开始。 题面 A.接力比赛 两个01背包跑一遍。 别问代码为啥写的这么阴间。 Code #include<cstdio> #include<algorithm> using namespace std; const int MAXN = 1010, MAXV = 1e6 + 10; const long long INF = 1e18 + 1145141919810; int n, m; long

  • 8.182022-08-18 21:03:05

    下发文件和题解 T1 接力比赛 既然要求取小白与小黑班级总 值相等时总 的最大值,那么这就可以转化为最简单的 背包问题. 设 和 分别表示小黑和小白班级中 值为 时 的最大值. 枚举 获得 和 ,那么转移显然: 然后扫一遍查询一下和的最大值即可. 点击查看代码 #include<bits/s

  • SPOJ-CAPCITY Capital City2022-08-18 20:33:11

    Capital City tarjan 缩点 缩点之后,找到 DAG 图中唯一一个出度为 \(0\) 的点,如果有多个,说明不成立 #include <iostream> #include <cstdio> #include <algorithm> #include <stack> #include <queue> #include <vector> using namespace std; const int maxn = 2e

  • 暑假集训四[打地鼠, 竞赛图, 糖果, 树]2022-08-18 07:31:50

    暑假集训4 打地鼠 这个题是个人也会吧?二维前缀和暴力碾压硬扫就行了,就是注意好边界,别爆就行 here #include <bits/stdc++.h> #define LL long long #define Re register int #define LD long double #define mes(x, y) memset(x, y, sizeof(x)) #define cpt(x, y) memcpy(x, y,

  • A层邀请赛52022-08-17 20:03:07

    A. 赤 我本来想考虑一下当a=n或b=n的情况,就以另一个变量作为关键字排序,如果a=n就选喜欢吃豆干可能性大的前b个两种食物全给,后面的只给干脆面,结果还交了个0分…… 鉴于这道题的正解既涉及期望,又需要什么wqs二分还套两层,还是来日方长吧…… Cat只有被捕捉的份还不够去捕捉别的猫……

  • 2022高考集训22022-08-17 19:01:14

    这场是难度最大的一场,并且带捆绑测试,坐了四个半小时连暴力分都拿不到 成绩 拉大胯了 T1 交通 题解思路太NB了,代码实现倒是不难。 假设一个点的两条出边为 \(i,j\) ,我们新建一个图给 \(i,j\) 连边。如果一个点的两条入边为 \(i,j\) ,我们也给 \(i,j\) 连边。 把题解翻译成人话,就是:

  • 【复习】搜索2022-08-16 13:30:54

    Cleaning Robot 数独游戏 城市距离 Bloxorz I 部落卫队 Weather Forecast 生日蛋糕 Best Sequence Children of the Candy Corn Paid Roads Description 给出一张 \(n\) 个点 \(m\) 条边的有向图。对于每条边 \((a, b)\),如果之前经过 \(c\) 点,那么费用为 \(p\),否则为 \(r\)。求 \(

  • CF713D Animals and Puzzle2022-08-16 07:30:58

    题意: \(n * m\)矩阵,每个点为0或1,每次给定一个矩形区间,问最大能够画出边长为多少的正方形保证正方形内的每一个数都是1. 首先是动规。 f[i][j]表示以(i,j)点位左下角的正方形的大小。则f[i][j]=min(f[i-1][j],f[i][j-1],f[i-1][j-1])+1。 这样可以求出每个点为左下角可以画出的最

  • A层邀请赛42022-08-15 22:01:40

    A. 暗之链锁 翻书就好了,在树上差分的第一个例题,书上讲得太好了感觉我写啥都是多余。Cat本来可以1A的,结果把m看成了树边和非树边总共有m条,算贡献的时候算成了n-m...过样例的的时候读入错了我就发现了这个问题,结果改了一处没改第二处…… 有大佬说能用树链剖分+线段树,我懒了就没试,我

  • "蔚来杯"2022牛客暑期多校训练营7 题解2022-08-15 19:00:08

    C. Constructive Problems Never Die 对于出现次数大于1的数字,用出现次数为0的数字填充。 剩下的数字一定两两互不相同,对这些数循环移位,最后进行判断即可。 #include<bits/stdc++.h> #define pii pair<int, int> #define fi first #define se second using namespace std; const

  • 洛谷 P1654 OSU!2022-08-15 11:30:09

    思路 考虑 \(DP\) 转移,设 \(F[i]\) 表示长度为 \(i\) 序列的期望分数。 得到如下转移: \(F[i]=(F[i-1]-A[i-1]+A[i])p_i+F[i-1](1-p_i)\) 其中 \(A[i]\) 的意义是:以 \(i\) 位 \(1\) 结尾极长连续段的立方贡献的期望分数。 再设 \(B[i]\) 为以 \(i\) 位 \(1\) 结尾极长连续段的平方

  • LCA 相关 && 树链剖分2022-08-15 00:03:50

    LCA 基本定义:最近公共祖先简称 LCA(Lowest Common Ancestor)。两个结点的最近公共祖先,就是这两个点的公共祖先里面,离根最远的那个。 简单来讲,就是两个点到根的路径上,深度最深的重合点 常用的求解方法: 朴素方法 每次选择深度较深的那个结点,往上走一步,直到两个结点重合,这个重合点就

  • Atcoder Grand Contest 025 E - Walking on a Tree(欧拉回路)2022-08-14 16:33:36

    Atcoder 题面传送门 打个表发现答案等于每条边被覆盖的次数与 \(2\) 取 min 之和,考虑如何构造这个上界。 首先考虑树是以 \(1\) 为中心的菊花图,且任意 \(A_i,B_i\ne 1\) 的做法:我们考虑在 \(A_i,B_i\) 之间连边。那么发现限制等价于,对每条边定向使得每个度 \(\ge 2\) 的点至少有一

  • CF512D Fox And Travelling(DP 计数)2022-08-14 16:33:06

    CF512D Fox And Travelling 给定一张 \(n\) 个点 \(m\) 条边的无向图,每次选择一个叶子结点并将它和连接它的边删除。 对于每个 \(k\in[0,n]\),问有序选择 \(k\) 个点的方案数。 \(n\le 100\)。 显然如果有环,那么所有环上的点都无法被选择,可以选择的只是一棵棵树。 按照是否有环,可

  • 道长的算法笔记:经典哈希表问题2022-08-14 16:02:50

    (一)哈希表简述 Waiting... (二)使用哈希表优化复杂度 (2.1) 两数之和 Waiting... (2.2) 子数组异或和 #include <bits/stdc++.h> #include <algorithm> using namespace std; #define maxn 300005 int n; int ar[maxn], xr[maxn]; int main(){ cin >> n; for(int i =

  • 【杂题乱写】AtCoder dp 26题2022-08-14 15:02:05

    AtCoder dp 26题 原比赛链接 洛谷题单链接 A - Frog 1 题目已然给出了转移方程,设 \(dp_i\) 为到第 \(i\) 块石头的最小代价。 转移方程: \[dp_i=\min(dp_{i-1}+|h_i-h_{i-1}|,dp_{i-2}+|h_i-h_{i-2}|) \]时间复杂度:\(O(n)\) 点击查看代码 int n; int h[maxn],dp[maxn]; int main()

  • 开坑难填之A层邀请赛12022-08-14 09:31:15

    A. Race 据说很容易想到Trie树?但我当时只想到了暴力……(原因是Trie树还不会qwq) //我相信我没分~ #include <bits/stdc++.h> using namespace std; typedef long long ll; const int maxn = 2e5 + 3; const ll mod = 998244353; int m, n, a[maxn]; ll r[maxn], ans; struct n

  • 【学习笔记/模板】扫描线 周长并2022-08-14 09:30:26

    先开坑,晚上再写。 P1856 [IOI1998] [USACO5.5] 矩形周长Picture Code #include<cstdio> #include<algorithm> using namespace std; const int MAXN = 1e5 + 10; int n, tot_x, tot_y, last_x, last_y; long long sum; int val_x[MAXN], val_y[MAXN]; int x[MAXN], y[MAXN]

  • 2022“杭电杯”中国大学生算法设计超级联赛(8) 题解2022-08-13 23:03:16

    A. Theramore 考虑只对长度为3的子串进行操作,发现偶数位置的字符不会出现在奇数位置,奇数位置的字符不会出现在偶数位置。 对奇偶位置字符进行排序即可。 #include<bits/stdc++.h> using namespace std; const int MAXN = 1e5 + 5; string S; char T[MAXN]; int num[3], n; void

  • 【题解】喷泉2022-08-13 15:00:48

    为什么我会用二分 思路 我们可以先将金币喷泉和钻石喷泉分离出来,进行分类讨论。 一个喷泉是金币喷泉,另一个是钻石喷泉:于是我们可以考虑贪心,即使用在花费内,美丽度最大的喷泉。如果说有一类喷泉中的所有喷泉的价格都超出了花费,那么这种情况就无解。 两个都是金币喷泉:首先我们可以考

  • 2022.8.12 颓废记录2022-08-13 00:34:33

    Preface 不想开学 QAQ。 Content [CF1252K]Addition Robot 挺新鲜的一道题,题解 [CF665E]Beautiful Subarrays 给定 \(a_{1\sim n}\),求满足 \(\bigoplus\limits_{i=l}^{r} a_i \ge k\) 的 \([l,r]\) 的数量。 \(1\le n\le 10^6,1\le a_i,k\le 10^9\)。 一眼题,把前缀和扔字典树里

  • A层省选32022-08-12 21:30:24

    A. 定位系统 不会,又是\(lct\),三场连着考,我该学学了。。 还有好多知识点没学,联赛前还想多刷点思维题,,,,,,难受 扔个暴力吧,找个度大于等于三的做根,然后记录一个点的子树内是否有发射器,当某个点有多于\(1\)棵子树没有发射器时,设置发射器到只剩一个没有的子树 除了找根为啥找度大于等于三的

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有