Blog
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于

约数问题

求约数1234567891011121314vector<int> y(int x){ vector<int>ans; for(int i=1;i<=x/i;i++) { if(x%i==0)//能整除,为一个约数 { ans.push_back(i);//加入答案
2022-03-12
算法

引用传值

同样的cmp函数 123 auto cmp = [&](const vector<int> a, const vector<int> b) { return a[0] == b[0] ? (a[1] < b[1]) : (a[0] > b[0]);}; 使用值传递会直接超时 123 auto cmp = [&](co
2022-03-11
C++

查分算法

差分可以看做是求前缀和的逆向过程。差分数组的定义为d[i] = a[i]-a[i-1];例如现在有一个数组为[1,3,5,4,2]那么它的差分数组为[0,2,2,-1,-2] 差分数组如何做到时间复杂度为O(1)的数组区间修改的。例如,现在想对区间[l,r]的进行加v的操作。那么只需要在差分数组进行操作:d[l]=d[l]+v;d[r+1]=d[r+1]-v;这样在
2022-03-10
算法

字典数tried

字典树又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。 字符串统计:模板: 12345678910111213141516171819202122232425int son[N][
2022-03-10
算法

二分模版

一般二分模板 123456789101112int find(int x){ int l=0; int r =n-1; while(l<r) { int mid = (l+r)>>1; if(a[mid]>=x) r= mid; else l =mid+1; } return l;} 注意:如果能找到等于x的
2022-03-09
算法

求组合数的多种方法

递推法C[a][b] = C[a-1][b-1]+C[a-1][b];很好理解,从一堆苹果中拿出一个苹果,那么从这a个苹果中取出b个苹果可根据有无这个苹果分成两种情况,得到递推式。模板题:https://www.acwing.com/problem/content/887/代码: 12345678910111213const int mod = 1e9+7;int c[N][N];voi
2022-03-05
算法

离散化+差分的坑

4月24日,周赛题T4。https://leetcode-cn.com/problems/number-of-flowers-in-full-bloom/根据题目,想到离散化+差分处理。tle代码: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545
2021-04-24
算法

深度优先搜索和广度优先搜索

深度优先搜索和广度优先搜索。 深度优先搜索以输出排列数为例,主要进行状态的转移。 输出排列数https://www.acwing.com/activity/content/problem/content/905/1234567891011121314151617181920212223242526272829303132#include<bits/stdc++.h>using name
2020-03-29
算法

SQL注入

常用的注入,有联合注入与堆叠注入。联合注入即为 1’ or 1 union 注入语句#堆叠注入即为 1’ or 1;注入语句#注入中的预编译方法:set是设置一个新列prepare是进行定义一个语句execute是执行playload: 1set @sql = CONCAT('se','lect * from `1919810931114514`;');pr
2020-03-11
CTF
1…345

搜索

Hexo Fluid