ICode9

精准搜索请尝试: 精确搜索
  • LeetCode 128 Longest Consecutive Sequence2022-09-17 04:30:19

    Given an unsorted array of integers nums, return the length of the longest consecutive elements sequence. You must write an algorithm that runs in \(O(n)\) time. Solution 既然不能排序,那就用 \(set\) 将元素全部存进去。从所有可能序列中的最小开始遍历,逐次递增,然后

  • 搜索插入位置2022-09-16 01:31:50

    搜索插入位置 一、题目描述 给定一个有序数组。需要插入一个元素。返回插入索引。 请必须使用时间复杂度为 O(log n) 的算法。 实例 输入: nums = [1,3,5,6], target = 5 输出: 2 输入: nums = [1,3,5,6], target = 2 输出: 1 输入: nums = [1,3,5,6], target = 7 输出: 4 二、

  • CSP-S开小灶42022-09-15 22:04:45

    A. 山洞 暴力枚举 \(nm\) 暴力 然后发现枚举的步长每 \(n\) 个一循环 搞出从\(0, 0\) 走 \(n\) 步的数组 进而发现从 \(0\) 到 \(i\) 和从 \(x\) 到 \((x + i) \% n\) 等价 于是可以\(n^2\) 转移出走 \(n + n\) 步,然后发现可以倍增了 其实这本质上是个循环矩阵 我太菜了,今天才知道

  • 做题记录整理栈6 T274673 黄校长的大house(有数据)(2022/9/15)2022-09-15 22:00:51

    emmm 为了做好这个最大刷墙的模板,甚至专门搞了一个题目 属于是为了吃老婆饼专门找一个老婆了 这题我们可以枚举每个长度的墙面,对于第i个墙面,我们找左边第一个比它小的墙面,序号为x,右边第一个比他矮的墙面,序号为y,那么此时这个墙面会被覆盖到的最大的矩形就是[y-1,x+1]这个区间,长度为

  • 2022HDU多校第十场 - 1002 Photos2022-09-14 19:32:51

    DP+ 矩阵快速幂优化转移 Problem - 7245 (hdu.edu.cn) #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int, int> PII; const int mod = 998244353; struct matrix { int a[2][2]; matrix() { memset(a, 0, size

  • 树的重量2022-09-14 12:34:45

    树的重量 题目描述 树可以用来表示物种之间的进化关系。一棵“进化树”是一个带边权的树,其叶节点表示一个物种,两个叶节点之间的距离表示两个物种的差异。现在,一个重要的问题是,根据物种之间的距离,重构相应的“进化树”。 令N={1..n},用一个N上的矩阵M来定义树T。其中,矩阵M满足:对于任

  • 矩阵游戏2022-09-14 00:00:44

    矩阵游戏 是一道氵题; 正好拿来练矩阵乘法; 题目传送门 https://www.luogu.com.cn/problem/P1397 显然老老实实的递推挂了; 那么 很容易想到矩阵加速 如何从F(1,1)转换到F(n,m) 每一列进行m-1次乘a加b的操作A 每一行进行n-1次乘c加d的操作B 可得 F(i,n)=F(i,1)* ( A^(m-1)); (^表示次方) 同理 每

  • 子段2022-09-13 21:30:19

    题目 求最大子段和 代码 //暴力 int mis(int a[], const int N){ int ans = -0x3f3f3f3f; for(int i = 0; i < N; i++){ int sum = 0; for(int j = i; j < N; j++){ sum += a[j]; if(sum > ans)ans = sum; } } return ans; } //贪心 int mis(int num[], cons

  • acwing1944.记录保存2022-09-12 17:02:49

    acwing.1944记录保存 原题链接:https://www.acwing.com/problem/content/1946/ 思路 将三头牛放到一个vector里,然后用哈希表来记录出现的次数 代码 #include<iostream> #include<cstring> #include<algorithm> #include<map> #include<vector> using namespace std; int main()

  • 高精度斐波那契快读代码(解决第⑩篇文章问题2022-09-11 23:34:56

    相关链接:https://www.cnblogs.com/TFLSc1908lzs/p/13531804.html 满分代码: 1 #include <bits/stdc++.h> 2 using namespace std; 3 int n,tot; 4 int ans[105][1000005]; 5 void figure(int x){ 6 for(int i=3;i<=x;i++){ 7 for(int j=1;j<=tot;j++

  • NC21467 [NOIP2018]货币系统2022-09-11 08:33:29

    题目 原题地址:[NOIP2018]货币系统 题目编号:NC21467 题目类型:完全背包 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 524288K,其他语言1048576K 1.题目大意 给出一些货币,问简化后还剩多少类型,即去除可以由其他面额表示的货币 2.题目分析 转移方程:f[j]+=f[j-a[i]] 面额为j的货币

  • POJ 1995 Raising Modulo Numbers 【Solution】(快速幂)2022-09-11 00:32:06

    [原题传送门](http://poj.org/problem?id=1995) 题目大意 先给定n组数据, 每组先给定m为模数, 再给定h组号码ai与bi, 输出每组数据处理的结果 题解 a^b的大小把握不住,从以下几点出发 1.考虑到求模公式:(ab)%p=(a%p)(b%p)%p 证明如下: 令a=k1p+r1,b=k2p+r2; 则(ab)%p=(k1k2pp+k1r2p+k2r1p+

  • 博弈论 _ SG函数2022-09-10 22:33:01

    定义 SG函数是指:在有向图中,对于每个节点x,设从 \(x\) 出发共有\(k\)条有向边(直接相连的边),分别达到节点\(y_1,y_2……y_k\), 定义\(SG(x)\)为\(x\)的后继节点的\(SG\)值构成的集合执行\(mex()\)运算后的值 \(mex():\)设集合S是一个非负整数集合,mex(S)就是求不属于S的最小非负整数。

  • SDUT 2022 Autumn Team Contest 7th2022-09-10 19:35:31

    1.J题:给你T组数据,每一组数据给你一个区间,让你求这个区间的范围,区间的起始时间和终止时间可能被包含或重复     思路:思路的话,就是直接把给定的两个区间的之间的数包括端点存到vector去重,然后直接输出个数即可,或者直接存到set里直接系统去重也可 #include <iostream> #include

  • 【ZJSU - 大红大紫:ACM - Template】比赛用模板06:多项式与几何2022-09-10 12:30:10

    多项式与几何 快速数论变换 \(\tt NTT\) \(\mathcal O(N * logN)\) 。 namespace poly{ const int M = 998244353,G = 3,Gi = 332748118; const int N = 5000000; int n,m; int res,ans[5000005]; int limit = 1; int L; int RR[5000005]; LL a[N

  • # Educational Codeforces Round 135 (Rated for Div. 2) A-E2022-09-09 22:04:00

    Educational Codeforces Round 135 (Rated for Div. 2) 传送门 A 题意: 给定n个颜色的各自的数量,每次可以使用两个不同的颜料,问最后可能剩下哪种颜料,输出任意一个即可。 分析:直接输出个数最多的那个颜料即可 void solve(){ int n;cin>>n; vector<int>a(n+1); rep(i,1,n

  • Educational Codeforces Round 135 (Rated for Div. 2) A-D2022-09-09 02:00:09

    A. Colored Balls: Revisited 如果所有数加起来都没有最大值大,那最后剩下来的就是最大值 否则最后剩下来的可以是任何一个数 //#define int ll const int N = 2e5+10; int n,m; int a[N]; void solve() { cin>>n; int mx = 0,sum = 0,id; fo(i,1,n) { ci

  • P3244[HNOI2015]落忆枫音(计数dp + 组合数学 + DAG)2022-09-08 20:30:46

    P3244 [HNOI2015]落忆枫音 题目传送门 题目大意 : 略 题目分析 : [\(1\)]:我们发现原图是一个 \(DAG\),那么我们很容易知道,若在一个 \(DAG\) 中找一棵生成树,那么总方案数为 \(\prod_{i = 1}^n deg_i\),因为对于每个点我们都有 \(deg_i\) 那么多种方案,又因为他是一个 \(DAG\) 所以根

  • 多项式全(?)家桶2022-09-07 19:01:52

    贴个板子,以备复习 点击查看代码 #include<cstdio> #include<cstdlib> #include<algorithm> #include<unordered_map> #include<cmath> #define mod 998244353 #define maxn 400010 #define ll long long #define it unordered_map<ll,int>::iterator

  • ABC264 G - String Fair2022-09-07 17:31:00

    DP + 最短路 + 哈希 G - String Fair (atcoder.jp) 题意 给若干个只包含小写字母的长度<=3 的字符串 \(T_i\),每个字符串有权值 构造一个非空字符串 S,若 S 中包含上述子串,则加上这个子串的权值,求 S 的最大权值和 思路 由于 \(T_i\) 的长度不超过 3,所以对于当前的 S,若向后面再加一个

  • CF1068B LCM2022-09-07 11:03:57

    题意: 给定b,求lcm(a,b)/a 有多少种,1<=a<=b<=1e11 解: 首先:lcm(a,b)/a=a*b/(gcd(a,b)*a)=b/gcd(a,b) 其次,若 b%a!=0,则b/gcd(a,b)=b/1=b,a不贡献 那么 问题就转化为了b的因子有多少种。 首先,O(n)的试除法是不能通过题目的 那么我们是否可以转化为O(sqrt(n))的试除法呢,也就是只求b的

  • "蔚来杯"2022牛客暑期多校训练营92022-09-06 17:04:03

    A Car Show 题意: 给定一个数组,请找到有多个区间 [L,R] 满足 1 到 m 的数都出现过。 分析:直接双指针就好 #include<bits/stdc++.h> using namespace std; long long n,m,s[100100],v[100100],cnt,ans; int main() { cin>>n>>m; for(int i=1;i<=n;i++) cin>>s[i]; for(int l=1

  • CCPC2020网络预选赛(vp)2022-09-06 16:35:15

    比赛链接: https://vjudge.net/contest/513012 C - Express Mail Taking 题意: 有 \(n\) 个箱子,分别在 \(a_1, a_2, ..., a_n\) 的位置,钥匙在 \(k\) 的位置,每去打开一个箱子前都要去拿一次钥匙,刚开始在 1 的位置,问最少花几步打开所有箱子后回到 1。 思路: 位置比 \(k\) 远的箱子所花

  • 转圈游戏2022-09-06 15:31:24

    https://www.luogu.com.cn/problem/P1965 ans=(m*1ek+x)%n 求1ek用快速幂求,求解的过程每次乘法运算都需要对n取模 #include <bits/stdc++.h> using namespace std; #define N 1e5 #define INF 2e9 #define MAX 10000000 #define ll long long ll n, m, k, x; ll quick_pow(ll a

  • Rock and Lever2022-09-05 21:02:01

    题意: 找出数列中满足,ai & aj >= ai ^ aj 的 (i,j)的数量,i<j 由样例发现,当ai 与 aj 的最高位一样时,不等式就成立 故,记录数的最高位的数目,假设一个最高位的数目为x,则能选,C(n,2)种 得到一个数的二进制的最高位,不断右移即可。 处理组合数即可。又:C(n,2)=(n/2)*C(n-1,1)=n*(n-1)/2. 

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

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

ICode9版权所有