ICode9

精准搜索请尝试: 精确搜索
  • 【luogu AT2363】Tautonym Puzzle(构造)2022-06-04 19:00:38

    Tautonym Puzzle 题目链接:luogu AT2363 题目大意 要你用至多 100 种字符,构造出一个长度不超过 200 的字符串,使得这个字符串的好的子序列数量恰好为 n。 定义一个串是好的当且仅当它可以由一个非空字符串复制一次得到。 思路 神奇构造题。 考虑复制,再看到字符串长度是字符数的两倍,

  • 【牛客小白月赛51 F平均题】数论,前缀和2022-06-03 21:34:05

    import java.io.IOException; import java.util.Scanner; public class Main { static int MOD = 1000000007; public static void main(String[] args) throws IOException { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(

  • 顺序表插入和删除2022-06-03 17:34:40

    bool SequencLists::Insert(int i,int e){ if (i > this->length +1|| i < 1) { return; } for (int j = this->length; j >= i; j--) {//i是指的第i个位置,j是指的下标,若i=2,j=3,那么循环两次,后移两个数,所以一共移(length-i+1)个数 this->data[j] = t

  • Leetcode 409. 最长回文串(端午节快乐)2022-06-03 12:32:04

    给定一个包含大写字母和小写字母的字符串 s ,返回 通过这些字母构造成的 最长的回文串 。 在构造过程中,请注意 区分大小写 。比如 "Aa" 不能当做一个回文字符串。 示例 1: 输入:s = "abccccdd" 输出:7 解释: 我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。 示例 2: 输入

  • 洛谷P1656 炸铁路 (求割边)2022-06-03 12:02:06

    用tarjan变种求割边的模板题 其实还可以求出所有的边双(用栈),但本题不需要求。 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int N=1e5+10; 4 int head[N],nxt[N<<1],to[N<<1],tot; 5 pair<int,int> edge[N]; 6 int dfn[N],low[N],top/*st[N]*/; 7 int cnt,i

  • tarjan大合辑2022-06-03 12:00:07

    \(tarjan\) 大合辑 1.割边: #include<bits/stdc++.h> using namespace std; const int N = 1e5 + 10, M = 1e6 + 10; int hd[N], nt[M], to[M], tot = 1;/////// tot = 1反边 inline void add(int u, int v) { nt[++tot] = hd[u]; hd[u] = tot; to[tot] = v; } int n, m;

  • java 题目:求一个 3*3 矩阵对角线元素之和2022-06-03 09:00:13

    import java.util.Scanner; public class Pro5 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); int sum = 0; int a[][] = new int [3][3]; //输入矩阵 System.out.println("请输入一个3*3

  • 字符串(搬運)2022-06-03 01:34:00

    char vowels[] = "aeiouAEIOU"; bool isVowel(char c) { // (1) int i; for(i = 0; vowels[i]; ++i) { if(vowels[i] == c) { return true; } } return false; } void swap(char *a, char *b) {

  • 順序表(搬運)2022-06-03 01:32:58

    #include <stdio.h> int a[1010]; void Input(int n, int *a) { for(int i = 0; i < n; ++i) { scanf("%d", &a[i]); } } void Output(int n, int *a) { for(int i = 0; i < n; ++i) { if(i) printf(&q

  • P4690 [Ynoi2016] 镜中的昆虫2022-06-02 20:31:44

    P4690 [Ynoi2016] 镜中的昆虫 区间赋值区间数颜色,\(n \leq 10^5\),值域 \([1,10^9]\),要求线性空间。 sol 首先考虑经典数颜色套路,设 \(pre_i\) 表示上一个与 \(a_i\) 相同的数的位置。 对于区间赋值操作,我们发现性质:\(\forall i\in(l,r],pre_i ←i-1\),对于 \(i=l\) 或区间外的情况

  • P3242 [HNOI2015] 接水果2022-06-02 20:31:28

    P3242 [HNOI2015] 接水果 整体二分练手题。 考虑一条路径 \((x,y)\) 被另一条路径 \((u,v)\) 包含的本质。 考虑 dfs 序,设 \(st_x=dfn_x\),$$ed_x=dfn_x+siz_x-1$。 不妨设 \(st_x<st_y\)。 \(\operatorname{LCA}(x,y)=x\) 则 \(u\in [1,st_z-1]\) 或 \(u \in[ed_z+1,n]\),\(v \in

  • ABC 207 D - Congruence Points2022-06-02 18:35:42

    D - Congruence Points 计算几何 给出两个点集 S,T,判断 S 点集的点是否可以通过平移、绕原点旋转变成 T 先求出两个点集的重心,将 S,T 中点的坐标都变成相对重心的坐标(也可以认为是平移到重心是原点的地方) 这时若 S 可旋转变成 T,则就可以 可枚举 \(S[i]\) 变成 \(T[0]\), 然后

  • [面向对象课]第二周上机2022-06-02 11:01:23

    6-5 日期类的设计与实现 分数 30 作者 范鹏程 单位 内蒙古师范大学 使用重载运算符(++,+=,<<等)实现日期类的操作。功能包括: 1)设置日期,如果日期设置不符合实际,则设置为默认日期(1900年1月1日) 2)在日期对象中向日期添加1或者加若干天(加入日期值后根据实际的日期进行月份、年份的变化) 3)重

  • 【Mac win】C和C ++ IDE智能代码编辑器CLion 20222022-06-02 10:34:05

    CLion 是一款专为开发C及C++所设计的跨平台IDE。CLion 2022适用于C和C ++的跨平台IDE!旨在为用户提供智能工具和更便捷的功能,从而消除了繁琐的工作,让开发人员能够专注的进行开发和代码工作!CLion具有智能的编辑器,增强了远程开发的现有工作流、Docker、CMake 项目和 CUDA 调试,并

  • 力扣中473 火柴拼正方形 题解看不懂 没写出来++*2022-06-02 10:04:39

    自己最开始的想法是:先把和求出来,如果不能被4整除就false;然后可以的话边长就是a=和/4。 然后再次遍历,对于给定数组中的每个数字i,若i>a,就false;若i=a,就和-i;若i<a,就和-(a-i)。 然后得到最后经过减法的和等于0(这会只考虑到两个数拼成一个边), 然后修改当多边拼的时候,会导致最后的和小于0,且

  • LeetCode 0200 Number of Islands2022-06-02 08:33:52

    原题传送门 1. 题目描述 2. Solution 1 1、思路分析 DFS. 可以将二维网格看成一个无向图,竖直或水平相邻的1之间有边相连。为了求出岛屿的数量,可以扫描整个二维网格,如果一个位置为1,则以其为起始结点进行深度优先搜索。在深度优先搜索的过程中,每个搜索到的1都会被重新标记为0。 最

  • 【初级算法】删除排序数组中的重复项2022-06-01 19:33:39

    删除排序数组中的重复项 给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。 由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项

  • 电影2022-06-01 00:33:27

    1.电影 链接 题目描述 有n个科学家,编号从1~10^9,我们要为他们准备电影,如果能听懂电影的语音最开心,能看懂电影的字幕比较开心,听不懂以及看不懂的不开心,我们要找出最开心的观看电影编号,没有则任意输出即可。 第一行输入一个整数 n,代表科学家的数量。 第二行输入 n 个整数 a1,a2…an,其

  • Java自增自减运算符的使用-附带面试题2022-06-01 00:32:41

    Java自增自减运算符的使用-附带面试题 基本使用 自增:++ 自减:-- 简单的理解为+1 -1 只能改变变量的值 -- ++ 放在位置前后都可以 在表达式中是不同运算方式 在Java中 1++ 1-- 这种表达式是不被允许的 可以int a = 1; a++; 前后缀自增自减单独使用时并没有什么区别 都是+1 -1

  • C++关联容器map与set的简单操作2022-05-31 22:34:19

    使用关联容器 使用map map<string,size_t> word_count; string word; int n = 0; while(n++ <= 5){ cin >> word; ++ word_count[word]; } for( const auto & w : word_count) cout << w.first <<" "<<w.second<<en

  • Codeforces Round #789 (Div. 2) 题解2022-05-31 20:31:08

    链接:Codeforces Round #789 (Div. 2) A. Tokitsukaze and All Zero Sequence 题目大意: 给定长度为\(n\)的数组,可以进行两种操作:1、如果\(a_i = a_j\),则使其中一个等于\(0\);2、使\(a_i=a_j=min(a_i,a_j)\)。问用最少的步数使数组均为\(0\)。 解题思路: 如果数组中存在\(0\),则使其余

  • 题解-[SDOI/SXOI2022]整数序列2022-05-31 08:33:52

    数据范围很诈骗,但poly log做法思考无果还是指引我们来想sqrt做法。 首先有一个很暴力的 \(O(cnt_x+cnt_y)\) 的做法。看到和出现次数有关则可以想根号分治。我们设定一个阈值 \(B\),对于两者都 \(<B\) 的部分可以暴力做,都大于 \(B\) 的部分也可以暴力做,因为这样的最多只会有 \(N^2/

  • Golang 的 goroutine 的 竞争解决方法 原子操作atomic(乐观锁)和互斥锁mutex(悲观锁)2022-05-31 00:03:27

    竞争状态 如果两个多以上的goroutine在没有互相同步的情况下,访问某个共享的资源,并试图同时读或者写,就处于相互竞争的状态。 解决这种问题的方法就是在同一时刻只有一个goroutine对此资源进行读写操作。 package main import ( "fmt" "runtime" "sync" ) var( counter in

  • operators2022-05-30 23:34:12

    Operators 5 operators: Arithmetic(+,-,*,/), Assignment(=,+=,*=), Relational(>,<,=), Logical(&,&&,|,||), Byte Manipulation order of operations 运算符优先级 ❗ 速记 PUMA is a REBL TA. Operator Symbols Post-Unary expr++, expr-- Pre-Unary

  • 拓撲排序(搬運)2022-05-30 12:31:07

    class Solution { #define maxn 10010 vector<int> edges[maxn]; public: vector<int> eventualSafeNodes(vector<vector<int>>& graph) { int i, j; int n = graph.size(); bool visited[maxn]; i

专注分享技术,共同学习,共同进步。侵权联系[admin#icode9.com]

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

ICode9版权所有