ICode9

精准搜索请尝试: 精确搜索
  • AcWing 95. 费解的开关2022-06-21 14:33:04

    题目传送门 一、题目描述 \(25\)盏灯排成一个\(5x5\)的方形。每一个灯都有一个开关,游戏者可以改变它的状态。每一步,游戏者可以改变某一个灯的状态。游戏者改变一个灯的状态会产生连锁反应:和这个灯上下左右相邻的灯也要相应地改变其状态。 我们用数字“\(1\)”表示一盏开着的灯,用

  • 冒泡排序2022-06-21 10:00:47

    理解 1.虽然比上面的那两个排序行数短,且容易理解,但是容易TLE; 2.冒泡排序就是每次排序至少能将一个数放在它应该出现的位置,所以如果有n个元素,则需要n-1次排序; 代码模板 #include<bits/stdc++.h> using namespace std; int n; int arr[100000] = { 0 }; void maopao_sort(int arr[],

  • 复合赋值和循环控制2022-06-20 23:01:24

    复合赋值 5个算数运算符,+,-,*,/,%可以和赋值运算符“=”结合起来,形成复合赋值运算符:“+=”,“-=”,“*=”,"/=","%=" 以“+=”为例,x += 3就相当于x = x + 3,首先会进行加法运算x+3,再将运算结果赋值给变量x。其余的-=、*=、/=、%=赋值运算符都可依此类推。 在i=i+1中可以表示为i++,表示自

  • HDU 1796 How many integers can you find2022-06-20 10:06:26

    题目链接 测试提交 一、容斥典型问题 求在给定区间内,能被给定集合至少一个数整除的数个数 二、解题思路 将给出的\(n\)个整除的数进行二进制枚举(\(2^n\)),计算\(a_i\)所能组成的各种集合(这里将集合中\(a_i\)的最小公倍数作为除数)在区间中满足的数的个数,然后利用容斥原理实现加减

  • getbinblocksize(a)2022-06-19 18:33:49

    #include <iostream> using namespace std; #define B_SHIFT 4 int getBinBlockSize(int size) { int q = 0; for ( q= 0; size>0; size >>= 1) { q++; } return 1 << q; } static int getBinBlockSize2(int size) { int q; size =

  • ac状态机以及后缀树2022-06-19 15:32:53

    DNA修复 看提交记录(有注释) #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; const int N = 1010; int n, m; int tr[N][4], dar[N], idx; int q[N], ne[N]; char str[N]; int f[N][N]; int get(ch

  • UESTC2022暑假前集训 字符串与搜索2022-06-19 15:04:33

    知识点:kmp,AC自动机,Manacher,后缀数组,回文自动机,搜索剪枝,迭代加深等 目录C-归并排序 解题报告题目大意解题思路代码实现G-进化 解题报告题目大意解题思路代码实现H-回文串 解题报告题目大意解题思路代码实现Q-接头暗号 解题报告题目大意解题思路代码实现R-国际象棋 解题报告题目大意

  • 1536B - Prinzessin der Verurteilung2022-06-19 10:04:01

    BFS: 暴力枚举所有情况即可 #include <iostream> #include <queue> using namespace std; int n; string s; string bfs () { queue <string> q; for (int i = 0;i < 26;i++) { string t; t += i+'a'; q.push (t); } while (!q.empty ()) {

  • CF1692H - Gambling2022-06-18 13:05:28

    题目链接: https://codeforces.com/contest/1692/problem/H 题意: 长为 \(n\) 的序列,从中选择一个连续的子序列,使这个子序列中出现次数最多的数字的数量减去剩余数字的数量最大。 思路: 暴力的方法,枚举每一个区间,然后求该区间中出现次数最多的数字的数量,计算要求计算的最大值,显然超时

  • 拼图2022-06-18 11:33:47

    基本思路:1.由8块方块和一个空块组成的拼图效果,八块由数字1~8,0表示空的块,用3×3的数组存储(棋盘2)。                   2.移动的方法:键盘按‘j’表示移动当前块,函数Check搜索附近前后左右四个块是否有空块,有空块就把当前块移动过去。                   3.由于

  • 五子棋2022-06-18 10:32:18

     判断的方法和设计思路都挺难的,借鉴了网上一个五子棋的思路,改了他的一些小框架和小错误,总体思路还是很值得学习的。利于对数组的掌握和全局的掌控。   还存在的一些小问题:边缘五个数判断时的数组越界问题,虽然正常玩的话应该不会遇到,但这个也是个小Bug,有兴趣的同学自己改,源码附

  • (未完)Codeforces Round #798 (Div. 2) AB...2022-06-18 00:03:51

    Codeforces Round #798 (Div. 2) https://codeforces.com/contest/1689 菜鸟来补题了。。。还妹写完 AB过的有些出乎意料,毕竟我是乱构造的 A. Lex String A要干啥来着,,不记得了,明天看看 #include <bits/stdc++.h> using namespace std; void solve () { int n, m, k; cin

  • JAVA基础(1)2022-06-17 20:02:24

    JAVA基础(1) 1.注释 1.单行注释 使用双斜杠// 2.多行注释 使用/* */ 3.文档注释 使用/** 会生成每一行开头都带*的注释,可以使用@ + 一些字符来做出可识别的注释 2.标识符 所有的标识符都应该以字母、美元符$、或者下划线_开头 首字母之后可以是任意字母、美元符、下划线或数字 标

  • 省选模板2022-06-17 15:33:37

    tarjan 缩强连通分量 Graph G; int dfn[N],low[N],dfscnt; int stack[N],top; int scc[N],scccnt; void tarjan(int u){ dfn[u]=low[u]=++dfscnt;stack[top++]=u; for(int v,i=G.fir[u];i;i=G.nex[i]){ v=G.to[i]; if(!dfn[v]){ tarjan(v); low[u]=std::min(low[u]

  • 14.矩阵置零2022-06-17 08:00:35

    73. 矩阵置零 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。   示例 1: 输入:matrix = [[1,1,1],[1,0,1],[1,1,1]] 输出:[[1,0,1],[0,0,0],[1,0,1]] 示例 2: 输入:matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]] 输出:[[0,0,0,0]

  • 13.有效的数独2022-06-17 01:31:07

    36. 有效的数独 请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图)   注意: 一

  • WPS JS统计每个姓名出现的次数2022-06-16 20:01:52

    原文: https://www.cnblogs.com/MrFlySand/p/16383242.html function 统计学生所有积分(){ alert("1") /*var nameCell = Sheets.Item("官微").Range("C3").Value2; alert(nameCell[4] == null)*/ for(var i = 2; i < 100; i++){ var integra

  • 操作系统 分页式存储管理 实验(C语言)2022-06-16 19:03:57

    分页式存储管理 实验内容   在进程控制实验的基础上实现分页式存储管理内存分配和地址转换过程。进一步实现请求分页式存储管理过程,包括内存和置换空间管理、地址转换以及缺页处理,能够体现FIFO和LRU算法思想。 实验提示 1、 建立一个位示图数据结构,用来模拟内存的使用情况。位

  • cf1574 D. The Strongest Build2022-06-16 13:03:18

    题意: 有 \(n\) 组数,在每组数中选一个数,最大化总和。有 \(m\) 个选数方案是被 ban 的 \(n\le 10,m\le 1e5\) 思路: 这是个经典老题了,这里主要提示一下复杂度并记录一种更好的写法。 常规 bfs 做法: bfs起点:每组都选最大的 若大根堆顶被 ban,把堆顶修改一维得到 \(n\) 个新备选方案入堆

  • js无重复字符串最长子串2022-06-16 00:04:12

    /* eg: abcabcbb---3 */ var lengthOfLongestSubstring=function(s){ const set =new Set(); let i=0;j=0;maxLength=0; if(s.length===0){ return 0 } for(i;is.length;i++){ if(!set.has(s[i])){//没有重复的情况 set.add(s[i])

  • 自增自检2022-06-14 20:34:21

    测试1 public class T { public static void main(String[] args) { int a = 3; int b = a++;//执行这行代码,先给b赋值,a再自增 //a = a + 1; //a = a + 1; int c = ++a;//执行这行代码,a先自增,再给b赋值 System.out.println(

  • 双指针算法2022-06-14 13:33:56

    用处就是优化 例如一道题朴素做法就是暴力遍历,如下: for(int i = 0; i < n; i++)   for(int j = 0; j <= i; j++) 此时时间复杂度是\(O(n^2)\)的。而通过双指针算法,就可以将其优化为O(n)的。 基本思想如下: for (int i = 0, j = 0; i < n; i ++ ) { while (j < i && check(i, j

  • generatorswithstylegan2人脸生成踩坑记录2022-06-14 13:02:10

    这个主要是cmake编译问题, 在windows下面在安装VS2017/VS2019时一定要将‘使用C++的桌面开发’选上,然后按照说明替换对应版本号 在linux下面需要考虑gcc的版本兼容问题, 好像g++8以上的不能编译,需要g++7及以下。 我把dnnlib/tflib/custom_ops.py64行改成了cmd = 'nvcc --std=c++1

  • C# 原子操作2022-06-14 10:34:42

    Interlocked.Increment 方法 和Interlocked.Decrement 方法作用 Interlocked.Increment 方法:让++成为原子操作;Interlocked.Decrement 方法让--成为原子操作。什么叫原子操作呢。就是不会被别人打断,因为C#中的一个语句,编译成机器代码后会变成多个语句。在多线程环境中,线程切换有可

  • luogu P7115 [NOIP2020] 移球游戏2022-06-13 22:33:02

    题面传送门 首先大概有一个人口普查的40分做法: 考虑对每一种颜色单独做,主要就是将每根柱子上的球都拿到最上面。 先数出这根柱子上有多少个我们现在要拿的球,然后从另外一个柱子上拿出等量的球放在空柱子上,之后我们从当前柱子一个一个往外拿球,如果这个球是我们当前颜色的就放到我们

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

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

ICode9版权所有