ICode9

精准搜索请尝试: 精确搜索
  • C20220806T2 枚举计算2022-08-31 13:03:50

    有 \(n\) 个点,求从1号点到 \(n\) 号点的最短路径,但有某些点有前驱,必须先到了前驱才能到达这个点,允许有多个点同时出发。 \(n\leq 3000,m\leq 30000\) 。 一看,这不是最短路吗?第二眼,这不是拓扑吗?于是,这道题思路就出来了。首先给每个点计一个 \(mintime\) ,表示最少要花 \(mintime\)

  • Loj#3005-「JOISC 2015 Day 4」Limited Memory【交互题】2022-06-15 11:34:17

    正题 题目链接:https://loj.ac/p/3005 题目大意 有一个长度为\(n\)的括号串\(S\),其中包括[]和<>两种括号类型,一个合法的括号串要求同类型的括号一一对应。 你每次可以询问\(S\)中的一个字符并且传递一个\([0,2^{22})\)的数字到下一次。 你的程序每次只知道字符串长度\(n\)和上一

  • P2758 编辑距离做题笔记2022-05-13 08:00:34

    这题是昨天做的,写到一半打模拟赛了,断了网,没有存,顺带吐槽洛谷博客没有草稿箱,再加上今天上午也有模拟赛,所以咕咕咕到了现在才来写做题笔记。开始看题时一脸懵逼,可能是因为平时做 dp 题想太少且看题解太多的原因吧,经常想不出状态转移方程,只好看来题解,题解里有两种做法,一种递归,一种递

  • P3400【仓鼠窝 】2022-02-08 15:04:37

    思路清奇,代码简洁的好题 问题大体分两部: 记录子矩阵个数,统计每一个点作为右下角时可以得到多少矩形,加起来就是答案 剪掉墙挡住的地方 考虑从右下角开始,如果有0已经挡住了矩阵,那么更靠左、上的0都卵用没有->单调栈 #include<bits/stdc++.h> using namespace std; int n,m,a[3005]

  • 寒假学习记录D162022-01-25 23:31:54

    1.OpenCV 2.web前端-CSS 3.算法基础练习 (1)OpenCV     (2)web前端             (3)算法基础练习 题目描述 赛时提示:保证出发点和终点都是空地 帕秋莉掌握了一种木属性魔法 这种魔法可以生成一片森林(类似于迷阵),但一次实验时,帕秋莉不小心将自己困入了森

  • 3005基于二叉链表的二叉树最大宽度的计算2021-11-11 14:03:45

    描述 设二叉树中每个结点的元素均为一个字符,按先序遍历的顺序建立二叉链表,编写算法计算该二叉树的最大宽度(二叉树的最大宽度是指二叉树所有层中结点个数的最大值)。 输入 多组数据。每组数据一行,为二叉树的先序序列(序列中元素为‘0’时,表示该结点为空)。当输入只有一个“0”时,输

  • Making the grade 和Sonya and Problem Wihtout a Legend2021-04-17 21:31:10

    不严格递增 给出一个长度为 n 的序列,可以给任意数增加或减去任意数,要求使序列变为非递减序列(不严格上升),ai数值的大小不超过1e9,问花费的最少代价是多少 首先要找到循环的条件i和j,这个题有长度,还有数值大小。所以应该是长度为前 i 个数构成的序列,且最大值为 j 的花费d[i][j]

  • 最长公共子序列2019-08-12 21:03:22

    1 #include <iostream> 2 #include <cstring> 3 #include <algorithm> 4 #include <cstdio> 5 #include <vector> 6 using namespace std; 7 8 typedef long long ll; 9 ll n;10 ll arr[3005],brr[3005];11 ll dp[3005][3005];12 ll maxx;13

  • 100917A - Abstract Picture Gym (思维)2019-07-26 21:42:30

    【题解】 题意:给每一行和每一列精准涂色,给定最后的颜色分布,'?'表示随意,请输出任意一种涂色方案。 思路:从只有一种确定颜色的行和列往回推,一步步撤销涂上的颜色,用类似拓扑排序的方法每次找到只有一种确定颜色或全随意的行和列进行涂色,最后倒序输出即可。我用结构体记录行和列的

  • LIS&&LCS&&LCIS2019-06-08 15:03:36

    LIS #include<bits/stdc++.h> using namespace std; int n,a[100005],b[100005],ji; int main(){ cin>>n; for(int i=1;i<=n;i++){cin>>a[i];} b[++ji]=a[1]; for(int i=2;i<=n;i++){ if(a[i]>b[ji]){ b[++ji

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

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

ICode9版权所有