ICode9

精准搜索请尝试: 精确搜索
  • A-想要更多的0_2022河南萌新联赛第(六)场:郑州大学 (nowcoder.com)2022-08-20 16:34:28

    A-想要更多的0_2022河南萌新联赛第(六)场:郑州大学 (nowcoder.com) 这个题思路倒是很好想到主要是处理[0,n]区间内0出现的次数 考虑这个问题 比如对3891205举例。 我们取到数第四位数,其形式也就可以是xxx0xxx这种情况你前面可以取[1,389]后面可以取[0,999]所以答案就是389*1000。这

  • [Google] LeetCode 366 Find Leaves of Binary Tree2022-08-20 04:30:08

    Given the root of a binary tree, collect a tree's nodes as if you were doing this: Collect all the leaf nodes. Remove all the leaf nodes. Repeat until the tree is empty. Solution 每次需要删去叶子节点。 我们利用 \(dfs\):对于叶子节点的,我们将其深度返回 \(-1\).

  • CodeForces-1671E Preorder2022-08-20 00:01:05

    Preorder 树型 dp + 思维 \(dp[i]\) 表示以 \(i\) 为根的子树通过变换有多少种不同的先序遍历 状态转移方程: 当左右子树不同,两个子树交换位置之后,没有重复的出现:\(dp[x] = dp[lson] * dp[rson] * 2\) 当左右子树相同时,两个子树交换位置后,会有相同的出现:\(dp[x] = dp[lson] * d

  • 判断红黑树2022-08-19 20:30:42

    https://www.acwing.com/problem/content/1630/ 思路: 思路不难,按照题目意思判断即可,但是这个dfs有些难写,值得学习,特记录此题。 #include <iostream> #include <algorithm> #include <unordered_map> using namespace std; const int N = 40; int pre[N], in[N]; unordered_map

  • Codeforces Round #815 (Div. 2) 全解2022-08-19 12:01:34

    目录ABCD1D2E A ad和cb,查看是不是相等或者倍数关系,特判0 B sort() cout<<a[n]+a[n-1]-a[1]-a[2] C 查看所有的四方格 一个四方格有2个0,ans=1的个数 一个四方格有1个0,ans=1的个数-1 一个四方格有0个0,ans=1的个数-2 D1 直接暴力从前260个转移 D2 类似trie树。 i和ai的二进制相等去左

  • 解题报告——P3477 [POI2008]PER-Permutation2022-08-19 09:33:33

    这道题如果不是任意模数的话还是比较平凡的( 这道题的式子其实很好推,根据康托展开的思路,一位一位考虑,只不过是多重集,可能有重复情况,排除即可,每一位的式子为: \[ans_i=\dfrac{(n-i)!}{\prod cnt_j}\times\sum^n_{k=i+1}[ a_k<a_i] \](\(cnt_j\) 为 \(i-n\) 之间 \(j\) 的个数,\(a_i\)

  • 压缩空间尝试使用只与前一个状态有关的dp dp[2][N]2022-08-19 02:03:50

    之后每次迭代t^1 使得 0->1 1->0 这里有 n个世界,每个世界都有 m 个点。 在i个世界中,你最多可以选择一条边 ,从 u点 移动到 v点 (可以选择不移动)。随后进入到第 i+1 个世界中的点 。如果选择在 u 点上不移动,则进入到第 i+1 个世界的u点 。 找到一段连续的世界 ,使得可以从点 1到

  • 1015 [USACO 2010 Dec S]Apple Delivery 最短路 建图2022-08-18 21:34:31

     链接:https://ac.nowcoder.com/acm/contest/26077/1015来源:牛客网 题目描述 Bessie has two crisp red apples to deliver to two of her friends in the herd. Of course, she travels the C (1 <= C <= 200,000) cowpaths which are arranged as the u

  • 算法提高课 第二章 搜索之DFS2022-08-18 17:00:34

    一、DFS之连通性模型 1112. 迷宫 #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int N = 110; int T,n; char g[N][N]; int sx,sy,ex,ey; int dx[4] = {-1, 0, 1, 0}, dy[4] = {0, 1, 0, -1}; bool st[N][N],f; void d

  • 暑假集训五[星际旅行, 砍树, 超级树, 求和]2022-08-18 07:31:29

    暑假集训5 星际旅行 这个题刚看我觉得很ex,没事思路,就跳了,然后就去欺负\(T4\)了后来别的不会做,然后回来肝它...就肝出来了...对了,注意开\(long long\) 首先转化一下题意,我们建无向边不是一下建两条吗,那么如果想让一条无向边只被走一次,那么我们相当于删除掉它两条边的一条,那题意就

  • YbtOJ 「图论」第2章 最小生成树2022-08-17 21:00:24

    为什么区间 dp 又咕咕咕了QAQ 于是随机抽取了一个幸运章节来做。 目前处于半摆烂状态。 例题1.繁忙都市 板子。写了下以前几乎没写过的堆优化 Prim。 code #include<bits/stdc++.h> #define pii pair<int,int> #define fi first #define se second using namespace std; const i

  • [复习#2022-8-17]基础搜索(1)2022-08-17 18:33:52

    DFS (来自OIWIKI)在搜索算法中,该词常常指利用递归函数方便地实现暴力枚举的算法 那我们可以尝试一下: 先写出递归: int xxx(int x,......) { if(边界到了) { ...... } else return xxx(x+1,......); } 再把else部分改成暴力 int xxx(int x,......) { if(

  • CF1719C Fighting Tournament 题解2022-08-17 18:31:52

    思路 根据题意,很容易看出,每个人都完成一次比赛后,即完成 \(n-1\) 轮之后,力量值最大的人会留在第一的位置,且在第 \(n-1\) 轮完成后,除了力量值最大的人,其他人的胜场数都不会再增加了。所以问题的关键是求所有人都完成一轮,即前 \(n-1\) 轮比赛之前的答案。 考虑将所有询问离线处理,并按

  • [AcWing 1118] 分成互质组2022-08-17 18:03:21

    DFS 点击查看代码 #include<bits/stdc++.h> using namespace std; typedef long long LL; const int N = 50 + 10; int n; int a[N]; int len, ans = 1e9; vector<int> g[N]; // 判断数字y能否放到第k组 bool inline check(int k, int y) { for (auto& x : g[k])

  • #83. 美人松的高度22022-08-16 22:05:23

    题目链接:http://oj.tfls.net/p/83 写法一:找到第一个k和最后一个k的位置,区间长度=尾地址-首地址+1; #include<bits/stdc++.h> using namespace std; int ans; int a[10000010]; //返回第一个p的位置,如不存在p,返回0 int bs1(int l,int r,int p){ ans=0; //答案初始化为0

  • 暑期集训42022-08-16 21:00:08

    rank 29 mark 150 题纲:T1:赛时全员AC,其他的应该不用说什么了 T2:图论,竞赛图统计强连通分量(位运算的应用) T3:计数类DP T4:线段树维护dfs序-->树剖-->染色 T2:定义竞赛图,任意两点之间都有且只有一条有向边。给你一个竞赛图n个节点,求强连通子图数量。n<=27 状压方法:就像线性筛一样,我在从

  • 【复习】搜索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\)。求 \(

  • [2002年NOIP提高组] 均分纸牌2022-08-16 08:30:59

    分析:每次移动都需要将其补全或删掉,如果这个正好是平均数,则步骤次数不增加 9 8 17 6 -1 -2 7 -4 0 -3 4 -4 0 0 4 -4 0 0 0 0 #include<bits/stdc++.h>using namespace std;int main(){ int n,s=0,a[200],ans=0; cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; s=s+a[i]; } s=s/n; f

  • LeetCode 131 Palindrome Partitioning2022-08-16 03:30:08

    Given a string s, partition s such that every substring of the partition is a palindrome. Return all possible palindrome partitioning of s. A palindrome string is a string that reads the same backward as forward. Solution 将字符串分割为所有可能的回文串。 首先

  • [2013年NOIP提高组] 积木大赛2022-08-15 22:03:41

    [2013年NOIP提高组] 积木大赛 思路:只需要进行n次循环,(两个数之间,如果后面的数大于前面的)用后面的数-前面的差值累加,就能得出操作次数啦~ 代码如下: #include<iostream> #include<cmath> using namespace std; int main() {       int n,last=0,now,i,ans=0;//ans 操作次数  

  • CF715C Digit Tree2022-08-15 21:32:58

    沝黑。 首先这种统计路径的问题一般联想点分治,然后考虑如何处理经过一个点 \(u\) 的路径。 考虑有一个点 \(p\in u\) 的子树,然后记录路径 \(p\to u\) 和路径 \(u\to p\) 的答案。前者放入一个映射统计,后者存在数组 \(S\) 里面。 最后整体统计,枚举 \(x\in S\),设 \(x\lt M\),统计映射

  • 2022HDU多校第七场2022-08-15 01:01:20

    2022HDU多校第七场 过程 本场队友上场秒了08,是昨天刚出现的nim博弈,随后04模拟分类讨论,我巨大演员wa了2发过了,随后03一眼树形dp,想了想计数方法,随后忘情况演了一发,然后就过了。随后便开始坐牢,队友做06,我看09,09打了个\(n*m\)的暴力,发现了一点整除分块的性质,然而对于做题并没有什么卵

  • Codeforces Round #813 (Div. 2) (C~D)2022-08-15 00:31:37

    C. Sort Zero 最开始写了个n2的 TLE了以后 不知道咋优化 只好观察性质 发现我们要维护一个后缀 很多人说要维护前缀 其实也就少跑了60ms 我们维护一个mp[]记录的是哪个数不合法了 然后后面维护后缀时细节有点多 就没啥了 #include <bits/stdc++.h> using namespace std; const int

  • Codeforces Round #813 (Div. 2)A-D2022-08-15 00:30:47

    Codeforces Round #813 (Div. 2)A-D 过程 本场A,B快速签到,但C卡了一下,D做法一开始直接把小的变大,然后发现假了,把自己hack了,随后想到了三分寻找最合适的变连续的一串从小到大的数字,但还是假了,只能赛后补提了。 传送门 题目 A 统计前k个数里面有多少个大于k即可 void Solve(){ cin>>

  • AcWing周赛62-64 中比较有意思的小题题解2022-08-14 18:30:43

    AcWing周赛62-64(选讲) 感觉比较思维 4502. 集合操作 https://www.acwing.com/problem/content/4505/ 根据题意,肯定要使得所取的最大值最大,平均值最小。又因为每次放进来的的数字都是递增的,所以最大值必然取的是最新放入的那个 \(x\), 接下来考虑平均值,要使平均值尽可能小的话,就要保

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

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

ICode9版权所有