ICode9

精准搜索请尝试: 精确搜索
  • 最短路问题解法汇总2022-07-26 09:36:31

    图论的最短路问题4种方法结合(亲测可过) dijkstra 算法 基础版,我认为对于算法思想很有帮助,但是性能一般(doge) #include<bits/stdc++.h> using namespace std; const int N=510,INF =0x3f3f3f3f; int n,m; //points and angles int g[N][N]; //邻接矩阵 int d[N]; //the distance fr

  • 1012 【模板】同余方程2022-07-26 05:00:07

      分析 模板题 #include<bits/stdc++.h> using namespace std; #define int long long int gcd_ex(int a,int b,int &x,int &y) { if(b == 0) {x = 1,y = 0;return a;} int d = gcd_ex(b,a%b,y,x); y = y - (a / b) * x; return d; } signed main

  • 欧拉函数2022-07-25 23:34:24

    欧拉函数 1.利用欧拉函数 1.欧拉函数是用来求1-N之中与N互质的数的个数,如6有1,5两个小于他的互质数互质数指两束数最大公约数是1) 欧拉函数 $$\varphi=N*(1-p_{1}))*(1-p_{2})*......(1-p_{n})$$ 这些p是n的约数前面在约数相关的文章中讲过,一个数可以分为 $$N=p_{1}^{x_{1}}*p_{2}

  • Educational Codeforces Round 132 (Rated for Div. 2)2022-07-24 17:02:36

    目录A. Three DoorsA 题意:A代码:B. Also Try MinecraftB 题意 及思路B 代码C. Recover an RBSC 题意以及思路C代码D. RorororobotD题题意及思路D代码:stip 题目链接 A. Three Doors A 题意: 总共三个箱子 开局提供一个钥匙,可开启编号相对应的一个箱子 每个箱子内会存放其他箱子的钥匙

  • Manipulating History2022-07-23 21:35:18

    传送门 题意: 有一个未知的长度为1的字符串s,需要做n次操作,对于每次操作,选择s的非空\(t_{2i - 1}\)子串,替换这个子串为非空的\(t_{2i}\)的字符串,\(t_{2i - 1}\)在s中可能出现多次,但是只取一次,在n次之后会得到一个最终串,本来的顺序是刚好的,但是现在的顺序被打乱了,(意思就是可以随机只

  • 1061 跳跳跳 区间DP2022-07-23 20:03:43

    链接:https://ac.nowcoder.com/acm/contest/24213/1061来源:牛客网 题目描述 dddddd在玩跳格子游戏,具体游戏规则如下, nnn个格子呈环形分布,顺时针方向分别标号为1∼n1\sim n1∼n,其中111和nnn相邻,每个格子上都有一个正整数a[i]a[i]a[i],玩家可以选择一个点

  • Codeforces Round #809 (Div. 2)2022-07-22 17:36:34

      Problem - A - Codeforces           给了t个询问,n个数Ai,又给了一个数为m,原来字符串为一连串的B,有两个操作第一个操作使第Ai个变为A,第二个操作使(M+1-Ai)变为A,使其字典序最小,肯定是比一下看那个在前面,记录一下即可。 1 4 5 1 1 3 1        注意的使我们要判断一

  • 夏季个人赛11补题2022-07-20 20:02:47

    C - Large GCD 题目的意思就是F(n,m)=gcd(5^n+7^n,5^m+7^m),利用这个式子来求5^n+7^n,5^m+7^m最大公约数,而且gcd(n,m)≡1,我做的时候就想着求出来再求这俩数的最大公约数 ,但是不对,结束了我看很多同学写的代码都很简单,所以就去搜索了这道题,题解说这个题运用打表法,就是输入多次输出

  • AcWing 2022.7.202022-07-20 15:03:18

    链表模拟 + 队列模拟 可以用队列模拟,维护未弹出的数据和顺序。 也可以直接按题目要求维护循环队列,只需要单链表就够了。 队列: #include <bits/stdc++.h> using namespace std; const int N = 60; int T; int n; int ne[N]; int main() { cin >> T; while (T--) { cin >> n;

  • CodeForces - 1701C2022-07-20 12:04:21

    Problem - C - Codeforces 题意: 每个位置对应一种适合的工人,适合的工人工作消耗1h,不适合2h,每个工人不能同时工作多个机器,问将所有机器工作完毕的最小时间是多少。 题解: 二分,对于mid, 判断比他小的和比他大的,然后判断两者之间的大小关系即可。 #include<bits/stdc++.h> using nam

  • [ZJOI2008] 无序运动 题解2022-07-20 09:01:22

    你谷 link 一道蛮模版的字符串题,只需要一步非常显然的转化。 首先思考如果无视四种操作该怎么做,如果将每一个点看成是一个字符,那么就是给定一个文本串,多个模式串,求每个模式串在文本串里出现几次,这显然是一个字符串的模板题,可以使用 AC 自动机,也可以使用诸如后缀数组、后缀树、后缀

  • 差分约束,背包问题2022-07-19 21:05:12

    差分约束,求最大值跑最短路,求最小值跑最长路, 最长路 xi-xj>=k添加j到i的权值为k的边 最短路xi-xj<=k添加j到i的权值为k的边 超级源点,到所有的点权值为0 注意用spfa跑时还要注意是否有负环 背包问题: 01背包 1 int w[N], v[N]; 2 int f[N]; 3 int main() { 4 int n, m; 5

  • Codeforces Round #808 (Div. 2)2022-07-18 12:00:36

    Codeforces Round #808 (Div. 2) 传送门:https://codeforces.com/contest/1708 错过了,第二天vp的,只写出了AB就卡C了,竟然看不出是贪心555 A. Difference Operations 题意:给一个数组,由如下操作,问能不能使得\(a_2\) 到\(a_n\) 全为0 操作是选择一个i,使得\(a_i=a_i-a_{i-1}\) 。 解:显然

  • 邻接矩阵2022-07-17 10:03:04

    const int maxvex = 100; const int INF = 65535; struct graph { int v[maxvex]; int arc[maxvex][maxvex]; int numv, nume; }; void create(graph* G) { int i, j, k, w; cin >> G->numv >> G->nume; for (int i = 0; i < G->numv; i++) {

  • Codeforces Round #807 (Div. 2) C. Mark and His Unfinished Essay2022-07-16 20:02:39

    include <bits/stdc++.h> define int long long using namespace std; int n, c, q; string s; int l[45], r[45], len[45]; signed main() { int t; cin >> t; while(t--) { cin >> n >> c >> q; cin >> s; len[0] = n; for(int i = 1;

  • 排序2022-07-16 17:02:02

    冒泡排序(Bubble Sort) 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。 这个算法的名字由来是因为越小/大的元素会经由交换慢慢"浮"到数列的顶端。 冒泡排序还有一种优化算法,就是立一个 flag,当在一趟序列遍历中元素没有发生交换,则证明该序列已经

  • NC17450 因数个数和2022-07-16 13:31:46

    https://ac.nowcoder.com/acm/problem/17450 数论分块模板题。 对于每一个数 i ,在 x 内都有 x/i 个数的因数含有它。 则最终要求 \[\sum_{i=1}^n\lfloor \frac{n}{i} \rfloor \] 点击查看代码 #include <bits/stdc++.h> using namespace std; #define int long long signed main

  • NC20566 [SCOI2010]游戏2022-07-16 02:31:59

    题目链接 题目 题目描述 lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示。当他使用某种装备时,他只能使用该装备的某一个属性。并且每种装备最多只能使用一次。 游戏进行到最后,lxhgww遇到了终极boss,这个终极boss很奇怪,

  • 二进制模拟2022-07-14 15:03:26

    二进制语法 (<<)是左移,将这组数左移,高位舍去,低位补0, 1<<n=1*\(2^n\) (>>)是右移,将这组数右移,高位补1,低位舍去,1>>n=1/\(2^n\) 二进制模拟题 一般用于取东西,只有取和不取两种状态 1为取,0 为不取 cin>>n; for(i=0;i<1<<n;i++){ for(j=0;j<n;j++){ if(i>>j&a

  • P1059 [NOIP2006 普及组] 明明的随机数2022-07-13 22:35:07

    明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了NN个11到10001000之间的随机整数(N≤100)(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请

  • Codeforces Round #806 (Div. 4) A - G2022-07-13 20:34:59

    传送门 A. YES or YES? 统一一下大小写 #include <iostream> #include <cstdio> #include <algorithm> #include <vector> #include <string> #include <queue> #include <functional> #include <map> #include <set> #include &

  • CF1294E Obtain a Permutation2022-07-13 16:34:07

    https://www.luogu.com.cn/problem/CF1294E 按列考虑,先对于列中每个找当哪一个为第一个时,这个恰好摆放正确。 即 \(a_{i,j}=(i-1)*m+j\),记 \(qwq=(a-j)/m\),则当第一个在 \(i-qwq\),时这个摆放正确,或者考虑 \(qwq=n-x+i,x=n-qwq+i\),然后枚举第一个就好了。 注意判下是否值在这列,不仅

  • 1081 检查密码 测试点22022-07-13 12:35:45

    易错点 输入格式中提到:“每行给出一个用户设置的密码,为不超过 80 个字符的非空字符串”,因此可能包含空格。测试点2即包含空格,如果用“cin>>a",测试点2会过不去,需要用cin.getline() 代码 #include <iostream> #include <cstdio> #include <string> using namespace std; bool is_le

  • Codeforces Round #805 (Div. 3) A——E补题2022-07-12 22:00:59

    A. Round Down the Price 题意: 给一个数n,要求找到离这个数最近的10的幂次。然后输出两者差值 思路:看了下数据范围,1e9,直接枚举就好了。从1e9开始,如果大于n就除10,否则就停止,相减即可 解决代码: void solve() { int n; cin >> n; int a = 1e9; while(a > n) { a /= 10; } co

  • 1039 [NOIP2000]方格取数 数字三角形2022-07-12 20:32:47

    分析 这题我和上题用了一样的方法,让它们不走到一个点,可能是因为有些数可能是负的,走到一个点反而权值更大? 反正l改成1开始就对了。然后这题要判断两个人是不是走到一个点,如果走到一个点,就要判掉。 //-------------------------代码---------------------------- #define int LLcons

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

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

ICode9版权所有