ICode9

精准搜索请尝试: 精确搜索
  • 3.7考试总结2022-03-08 10:33:43

    3.7考场总结 今日问题: 考场犯困 忘记删调试!!! 考试着急,没有审清题就考试作答 没有对知识进行迁移,怎么说呢,就是东西想的离正解都不远,但是就是差一点点才能感觉到正解的水平,说明最近学到的东西越来越多了,需要开始疏理,总结了,T2当时绝对是正解的思路,但是没有进一步的想,说明DP的思维和思

  • Game of Primes (博弈)2022-03-06 12:03:28

    思路: 找一个人作为带入,我就是他。(选择情况数少的) Alice 想想一些让别人浴霸不能的步骤和做法,看看这个做法能不能让自己赢,不行的话自己就不能赢。(自己取胜的条件本来就处于劣势) 就是 x-1,y-1, 他选x,我就选y,他选y,我就选x。 attention: 1 初始情况可能要特判,更具自己的代码 Alice an

  • UVA10349 Antenna Placement2022-03-02 21:00:08

    题意 一个矩形中,有n个城市’*’,现在这n个城市都要覆盖无线,若放置一个基站,那么它至多可以覆盖相邻的两个城市。 问至少放置多少个基站才能使得所有的城市都覆盖无线? 分析 每一个城市都需要被一个基站覆盖,而一个基站最多覆盖两个城市。为了使基站的数量最少,我们可以考虑让尽可能多的

  • 2022春每日一题:Day 242022-03-01 23:33:08

    题目:Work Group 树形dp,设状态f[u][0/1] 表示以u为根节点,他的子树中选了0(偶数)1(奇数)个节点的最大价值,设x为他的一个儿子,显然f[u][1]=max(f[k][0]+f[u][1],f[k][1]+f[u][0]),f[u][0]=max(f[k][0]+f[u][0],f[k][1]+f[u][1]) 最后再加上自身权值即可,答案为f[1][1] 代码: #include <cst

  • p1177快速排序的BST解法2022-02-28 23:04:38

    #include<iostream>using namespace std;struct node{     int data;//结点的内容      int left;//左子树      int right;//右子树      int size;//子树大小,含本结点      int cnt; //相同内容的个数 } Bst[100100];int a[100010]; int root=0;int tot=0;//插入

  • E - Σ[k=0..10^100]floor(X/10^k)2022-02-24 22:32:21

    \[1 \ 2 \ 2 \ 5 \\ \ \ 1 \ 2 \ 2 \\ \ \ \ \ 1 \ 2 \\ \ \ \ \ \ \ 1 \\ \]观察发现每一位只需要维护后缀和 #include <bits/stdc++.h> #define LL long long using namespace std; const int N = 5e5 + 10; int n; LL sum[N]; char s[N]; int main() {

  • 可持久化线段树2022-02-24 09:34:58

    可持久化就是支持维护不同时间下的版本的数据结构啦。 那么可持久化线段树能干什么很显然了。 可持久化线段树又叫主席树,因为来历大家都知道就不多说了。 那么就直接讲核心操作了,就是克隆节点。 克隆节点 就是在修改的时候(或者维护多棵有公共节点的线段树时)使用。把有变化的节点新

  • fhq treap2022-02-24 09:32:11

    #include<bits/stdc++.h> using namespace std; int n,m,tot; struct treap { int ch[3],pri,size,v; }t[100010]; void update(int x) { t[x].size=1+t[t[x].ch[0]].size+t[t[x].ch[1]].size; } int new_node(int x) { t[++tot].v=x; t[tot].size=1; t[tot].pri=

  • 重修 网络最大流(即最小割)2022-02-20 18:01:30

    本蒟蒻只讲一些我常常出错的部分,具体还要靠 OI-wiki:Dinic 的帮助。 啥是最大流? 相当于有一个供水站,一个用户,中间有复杂的水管(每一根单向且有单位时间传输量限制)网络,求用户单位时间内获得的最大水量。 Dinic 咋弄? 每次先 BFS 按照离原点 \(S\) 的距离将图分层,再在分层图上 DFS,终止

  • CF1625E2 Cats on the Upgrade2022-02-18 08:31:44

    https://www.luogu.com.cn/problem/CF1625E2 考虑把括号序列对应的树形结构建出来(按照在串中出现的顺序,给一个点所有儿子也定一个顺序) 设 \(u\) 有 \(son_u\) 个儿子,则如果不考虑只取某个儿子中的一部分作为一个合法字串的情况(也就是必须取某几个连续的儿子),那么方案数是 \(f_u=\df

  • Charging(https://acs.jxnu.edu.cn/problem/ICPCJX2020C)2022-02-09 22:34:09

    题目: Charging  1000ms  131072K 描述: Xxy is the king of the universe. In order to resist the invasion, he ordered the construction of many space warships.Now,he wants to charge his space ships. He has N space ships.The N ships are numbered from 1 to

  • 【逆序对】【树状数组+离散化】CF220E Little Elephant and Inversions2022-02-09 13:02:36

    目录题意:思路: 题目链接 题意: 给定长度为n的序列A,取两个断点l和r,求由A[1],A[2],...,A[l],A[r],A[r+1],..A[n]组成的新序列B且其逆序对不大于k对的个数。 思路: 宏观上:对于一个一对选择l和r,r向后推会使得逆序对个数保持不变或者减少,但必然不会带来增加。于是对一对恰好满足条件的l

  • [SDOI2012]吊灯(结论)2022-02-08 15:04:26

    problem 洛谷链接 solution 显然,颜色相同的灯泡形成一个连通块,且连通块的大小 i ∣ n i\mid n i∣n。 这道题要能发现一个结论:一定至少

  • 分块算法学习笔记2022-02-05 09:01:41

    分块简介 分块的基本思想是通过对原数据的适当划分,并在划分后的每一个块上预处理部分信息,从而较一般的暴力算法取得更优的时间复杂度。 如何分块 一般的,我们会把原数组分成块长为 \(\sqrt{n}\) 的几段,初始化的复杂度为 \(O(n)\) ,单次操作的复杂度是 \(O(\sqrt{n})\)​ P3372 【模

  • 牛客练习赛502022-02-04 17:34:06

    A. tokitsukaze and Connection 题目链接 题意:给你一个全由小写字母构成的字符串,判断这个字符串中的同种字母是不是全部连在一起; 思路:直接暴力for一遍,从第二个字母开始,判断当前字母有没有出现过,如果出现过并且与前面那个字母不同,则同种字母不是全部连在一起的 #include <bits

  • 数学知识板子 / Math(updating)2022-02-03 20:33:10

    埃氏筛(朴素筛法求素数): int prime[N], tot; bool st[N]; // true:not prime, false:is prime void get_primes(int n) { st[1] = true; for(int i = 2; i <= n; i++) { if(!st[i]) { prime[++tot] = i; for(int j = i + i;

  • 【带权并查集 + DP】真正的骗子2022-02-01 22:32:13

    这题属实逆天。。题面在输出格式中没有说明需要将编号排序后输出,让我困惑了半天呜呜。 分析 题目本身的思路是很简单的。 我们从一个人说 yes 和 no 能够得到什么呢? 假设这个人是天神,那么说 yes 说明对方也是天神,否则是恶魔。 假设这个人是恶魔,那么说 yes 说明对方也是恶魔,否则是

  • 洛谷 P5360 - [SDOI2019]世界地图(最小生成树+虚树)2022-01-29 13:31:54

    洛谷题面传送门 好题。 首先看到抠掉一个区间的限制,我们很自然地想到对前后缀跑一遍 MST 后把左右两半的信息合并起来的想法,于是问题转化为怎样维护前后缀的最小生成树。 直接做复杂度 \(nm^2\log n\)​,显然无法通过,乍一眼貌似也需要可持久化 LCT / 树状数组套 LCT 等奇奇怪怪的数

  • CF1625 E2. Cats on the Upgrade (hard version) 题解2022-01-29 01:00:53

    E2. Cats on the Upgrade (hard version) 题意 RBS定义为:它是一个只包含“(”,“)”以及“.”的字符串,若它能通过若干次删除“()”(一对连续的括号)或“.”,使得该字符串为空,则该字符串为RBS。 一个RBS是简单的,当且仅当它不为空,且第一个字符和最后一个字符都不是“.”。 初始状态下,给定

  • [SHOI2003] 吃豆豆2022-01-26 20:34:50

    \(Solution\) 考虑把一个豆豆看成一条边,那限制流量为\(1\),费用为\(1\),豆豆即会被吃一次。拆点,两点之间连一条有贡献的边和无贡献的边,可做到让两条路径重合后不会多产生贡献。路线不可以相交可以通过连边的方式解决,但我们发现边数太多了。考虑我们连的一些无用的边,形如一个钝角三角

  • 「Snackdown 2021 Final」Robbery 题解2022-01-26 10:33:44

    link Solution 首先我们可以发现,对于任意一个选出来的物品序列,如果我们排序之后奇偶分类,那么分成的两堆一定相差 \(\le n-1\) 。 然后我们考虑dp,我们可以设 \(f_{a,w}\) 表示选 \(a\) 个物品,重量和为 \(w\) 的价值和最大值,那么对于 \(a\) 为偶数,则有转移式: \[f_{a,w}=\max_{i} \{f

  • 迷宫2022-01-25 14:32:01

    有一个n*n的迷宫(2<=n<=10),入口在左上角,出口在右上角,0表示可通,1表示障碍。从某点开始有八个方向可以走,输出从入口到出口的路径总数。 1 #include<bits/stdc++.h> 2 using namespace std; 3 int s[11][11]; 4 int wx[10]={-1,-1,-1,0,0,1,1,1},wy[10]={-1,0,1,-1,1,-1,0,1}; 5

  • 牛客小白月赛44 E. 变异蛮牛(树形DP)2022-01-22 14:01:41

    链接:https://ac.nowcoder.com/acm/contest/11221/E 来源:牛客网 题目描述 幽怨火,憎恨焰,变异蛮牛续执念。 给定一棵根为 11,且是黑点的有根树。 每个白点相邻所有的点都是黑点,每个黑点相邻所有的点都是白点。换句话说,你可以从根结点开始,按照深度对每个点黑白染色。 现在对于一条两

  • 字符串 后缀自动机 lgP5341题解2022-01-10 16:01:07

    SAM一道很裸的题。。。 题意很明确,不再阐述。 做法很简单:找到所有出现次数为 \(k\) 的子串,然后统计。 怎么找到这些字符串呢?SAM 只能找出等价类啊。 注意 parent tree 的父亲节点的长度 +1 即该等价类中长度最短的字符串,那么若我们先通过拓扑排序求出每个等价类在原串中出现次次数

  • [CF936D]World of Tank2022-01-09 17:03:50

    World of Tank 题解 相当有趣的 d p dp dp题。 显然,如果我们要开炮击毁一个建筑,我们是可以提前在许多个位置开炮的,只要 CD 好了就可以开炮。 如果

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

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

ICode9版权所有