ICode9

精准搜索请尝试: 精确搜索
  • unique函数实现2022-09-05 16:34:08

    对于一段数组,当满足以下两个条件时,他就是每一段相同数的首个数字 是数组的第一个元素 s[i] != s[i - 1] 可以以1 1 2 2 2 3 4 5 5 5 6进行模拟 vector<int>::iterator unique(vector<int> &a) { int j = 0; for(int i = 0; i < a.size(); i++) if(!i || a[i] != a[i -

  • 用递归函数计算s=1+2+3+4+.....+99+1002022-09-05 16:04:21

    #include <stdio.h> static int ci=0; int sum(int i) { ci++; int m=0; if (i<100) { m=i+sum(i+1); printf("%d ",m); return m; } else return i; } main() { int a=0,b=1; a=sum(b);

  • 个人赛题解2022-09-05 10:30:38

    A. Rectangular Queries 题意 给定一个最多包含 \(10\) 个不同数字的 \(n\times n\) 矩阵,依次回答 \(q\) 个询问,每个询问给定了一个子矩阵,问该子矩阵有多少不同数字。 题解 注意只有十个数字,预处理二维前缀和数组\(cnt[k][i][j]\)表示子矩阵 \((1,1) \to (i,j)\)中数字\(k\)的个数

  • 【luogu CF633H】Fibonacci-ish II(莫队)(线段树)(矩阵乘法)2022-09-04 21:30:09

    Fibonacci-ish II 题目链接:luogu CF633H 题目大意 给你一个序列,每次问你一个区间,把里面的数拿出来去重排序,第 i 个位置乘上斐波那契数列第 i 项之后所有数的和。 思路 这题卡常。 (而且好像能暴力优化草过去但是写的是标算) 首先看着数据范围会主观思考 \(\sqrt{n}\) 有关的,思考完

  • 串联数字2022-09-04 16:30:57

    串联数字 给定 $n$ 个正整数 $a_1,a_2, \dots ,a_n$。 我们规定将正整数 $a_i$ 和 $a_j$ 串联是指将 $a_j$ 直接接在 $a_i$ 后面构成一个新整数。 例如,$12$ 和 $34$ 串联得到 $1234$,$34$ 和 $12$ 串联得到 $3412$。 现在,给定一个正整数 $k$,请你计算有多少个有序数对 $(i,j)(i \ne

  • leetcode283-移动零2022-09-04 16:04:29

    https://leetcode.cn/problems/move-zeroes/ 方法一:双指针法 设置两个指针 i 和 j , 1 class Solution { 2 public: 3 void moveZeroes(vector<int>& nums) { 4 int i,j,size=nums.size(); 5 bool flag=false; 6 for(i=0,j=0;i<size&&

  • 简单计数 P60082022-09-04 15:31:59

    题目传送门 题目大意:给定一张边框确定的图,在其中空地放水并满足物理要求,求总方案数 题目分析: 首先注意到,满足物理需求就是满足在一个连通块内从高度为 \(h\) 放水,则满足对于高度为 \(\forall\) \(i\) \(\le\) \(h\)的空地均有水。 那么显而易见,我们可以从下到上枚举高度,对于连通性

  • 排序算法整理C++(初赛)2022-09-04 11:04:35

    排序算法整理 常见考点 将一个乱掉的字符串排回有序(以交换为基本操作)的最少操作,就是冒泡排序。 排序算法的稳定性 排序算法的时间复杂度 排序算法的稳定性 稳定性是指排序前两个元素a1 = a2,a1在前。排序过后,倘若a1始终在前,则算法是稳定的,否则是不稳定的。 稳定的 冒泡排序、插入

  • 排序2022-09-03 19:31:20

    其实排序能用的上的就三个:快排,归并,基排(\(O(wys)\))。(其实priority_queue可能也算) 快排很好说,sort就行。还有一个stable_sort是相同大小元素顺序不变的稳定排序算法。(事实上我随了1e7个随机数,sort是3.412s,stable_sort是3.569s) 然后是归并。这个可以用来求逆序对,而且理解它的原理也

  • 信息学一本通 1311:【例2.5】求逆序对2022-09-03 12:03:03

    时间限制: 1000 ms         内存限制: 65536 KB 提交数: 41023     通过数: 9681 【题目描述】 给定一个序列a1,a2,…,ana1,a2,…,an,如果存在i<ji<j并且ai>ajai>aj,那么我们称之为逆序对,求逆序对的数目。 【输入】 第一行为nn,表示序列长度,接下来的nn行,第i+1i+1行表示

  • 前端面试题 JavaScript 基础 —— 2022-09-032022-09-03 11:33:13

    每日 3 题 13 以下代码执行后,控制台中的输出内容为? Object.prototype.a = 1; Function.prototype.b = 2; function F() {} var f = new F(); console.log(F.a); console.log(F.b); console.log(f.a); console.log(f.b); 14 以下代码执行后,控制台中的输出内容为? var a = 2 >= 3 ||

  • Problem P04. [算法课分治] 找到 k 个最小数2022-09-03 03:02:04

    先sort排序,在输出最小的k个数。 #include<iostream> #include<bits/stdc++.h> #include<cstdio> using namespace std; int n, k; int arr[10005]; int main() { scanf("%d %d", &n, &k); for (int i = 0; i < n; i++){ scan

  • 克鲁斯卡尔(Kruskal)算法2022-09-02 23:35:01

    1.应用场景-公交站问题 1)某城市新增7个站点(A, B, C, D, E, F, G) ,现在需要修路把7个站点连通 2)各个站点的距离用边线表示(权) ,比如 A – B 距离 12公里 3)问:如何修路保证各个站点都能连通,并且总的修建公路总里程最短? 2.克鲁斯卡尔算法介绍 1)克鲁斯卡尔(Kruskal)算法,是用来求

  • CSP_202206-2_寻宝!大冒险!2022-09-02 21:34:26

    CSP_202206-2_寻宝!大冒险 题目链接 思路 相当于判断两个有限集合AB之间是不是满射和单射,只需要保证以下两点 A和B元素个数相等 A中每个元素都能通过映射\(\psi\)到B中一个元素,且\(\psi(a_1)=\psi(a_2) \iff a_1 = a_2\) 坑 输入的矩阵格式和我们平常看到的坐标系,xy轴是反过来的

  • C中高低字节的理解2022-09-02 15:04:08

    这里简单说一下自己的理解,比较简单的东西: 1 int pos = 0x00; 2 BYTE byBufArr[1024] = {0x00}; 3 4 byBufArr[pos++] = 0x00; 5 6 byBufArr[pos++] = 0xFE;//设备地址 7 byBufArr[pos++] = 0x00; 8 9 //低字节在前,高字节在后。 10 //解释:实际上16进制的表示就是0x00F

  • 数独2022-09-02 15:02:26

    https://www.acwing.com/problem/content/168/ #include <algorithm> #include <iostream> using namespace std; const int N = 9; // 0- 511 // ones[i] 表示i这个数字的二进制表示中, 有多少个1 // map快速求出log_2[x], 例如: map[8] = 3; int ones[1 << N], map[1 <<

  • 卡常小技巧2022-09-02 13:30:31

    那些也许有用的卡常小技巧 作者卡Ynoi卡吐了 一,代码优化 1.inline 其实还是有点用的。 不带inline: 带inline: 2.register 注意有些不能加,但优化程度还是很大的。 不带register: 带register: 3.i++ $ \Rightarrow $ ++i 但是优化很小,如果只差一点可以加上后多跑几遍,增大卡过的

  • C/C++中的自增自减运算符的前置后置问题2022-09-01 21:32:17

    前言 在准备秋招的过程中,遇到双指针问题,发现自增自减运算符的前后置对于问题的解决有很大的影响,故写此文作为总结,方便后续查阅。 正文 一、前置后置的区别 自增自减操作符在编程中很常用,都分为分为前置和后置两种操作符,对于两者的区别,C++ primer中的说明如下: 1.前置操作返回的结果

  • LC2382022-09-01 12:02:38

    /* 使用双指针,左指针指向当前已经处理好的序列的尾部,右指针指向待处理序列的头部。 右指针不断向右移动,每次右指针指向非零数,则将左右指针对应的数交换,同时左指针右移。 */ void moveZeroes(vector<int>& nums) { int n = nums.size(), left = 0, right = 0; while (rig

  • 矩阵类问题处理技巧2022-08-31 21:02:04

    矩阵类问题处理技巧 作者:Grey 原文地址: 博客园:矩阵类问题处理技巧 CSDN:矩阵类问题处理技巧 给定一个正方形矩阵,原地调整成顺时针90度转动的样子 题目链接见:LeetCode 48. Rotate Image 本题主要的限制条件是:原地调整,即不开辟额外的二维数组来做。 主要思路如下 第一步,先处理外围的

  • CCF 201503-1 图像旋转(C++)2022-08-31 13:34:08

    好像旋转矩阵有更好的做法,但是我觉得这样也足够了,如果需要更好的做法,大家得自己在去找一下。 我主要是找了下规律,然后做出来的 #include<iostream> #include<bits/stdc++.h> #include<cstdio> using namespace std; int num1[1005][1005]; int num2[1005][1005]; int n, m;

  • P3808 【模板】AC 自动机(简单版)2022-08-31 13:30:40

    题目链接 代码 #include <iostream> #include <cstdio> using namespace std; const int N = 1000010; int n; char str[N]; int tr[N][26],cnt[N],idx; int fail[N],q[N]; void insert (char s[N]) { int p = 0; for (int i = 0;s[i];i++) { int t = s[i] - '

  • 求一个图的最打的半联通子集=求一个图的最长链方案和个数2022-08-30 23:02:48

    拓扑图最长路 等于 背包问题求方案数 因为要求点不同 存在多条边同一情况 需要边判重(set) 拓扑求方案数 #include <iostream> #include <cstring> #include <algorithm> #include <unordered_set> using namespace std; typedef long long LL; const int N = 1e5+10,M=2e6+10;

  • P2375 [NOI2014] 动物园2022-08-30 14:04:15

    定义字符串的前 \(i\) 个字符组成的字符串中一最大子串 \(T\) 即使前缀也是后缀,且 \(|T|\leq i/2\) ,则定义 \(num[i]=|T|\) ,求 \(num[i]+1\) 之积 \(mod\) 1000000007。 \(|S|\leq 10^6\) 。 熊猫:“对于字符串S的前i个字符构成的子串,既是它的后缀又是它的前缀的字符串中(它本身除

  • 9. SQL--use:选择数据库2022-08-30 10:01:52

    1. 前言 如果您的系统中有多个数据库,那么在开始操作之前,您需要先选择一个数据库。 sql use 语句用来选择一个已经存在的数据库。 2. 语法 use 语句的基本语法如下: use databasename; databasename 表示要选择的数据库名称,它必须是存在的。 3. 示例 首先使用 show databases 语句

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

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

ICode9版权所有