摘要:
1. ❤LINK:有趣的家庭菜园 ❤TJ :LINK 标签:树状数组,逆序对 对于一个序列,只能相邻两两交换时,排成有序序列的最小次数为逆序对的个数。 同类:火柴排队 火柴排队 同序和≥乱序和≥逆序和 为了让Aの第K大与Bの第K大对应计算出排序后“原A的i应该与原B的对应”(可用map,形式如map 阅读全文
摘要:
一. 图的概念 1.定义 某类具体事物(顶点)和这些事物之间的联系(边),由顶点(vertex)和边(edge)组成, 顶点的集合V,边的集合E,图记为G = (V,E) 2.分类 1、无向图 Def:边没有指定方向的图 2、有向图 Def:边具有指定方向的图 (有向图中的边又称为弧,起点称为弧头, 阅读全文
摘要:
更相减损术 概念 《九章算术》是中国古代的数学专著,其中的“更相减损术”可以用来求两个数的最大公约数。 原文: 可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也。以等数约之。 白话文: (如果需要对分数进行约分,那么)可以折半的话,就折半(也就是用2来约分)。如果不可以折半的话, 阅读全文
摘要:
莫队算法最初是由清华集训队莫涛队长在 年整理后详细提出,是一种离线算法,主要是利用双指针,再基于分块思想解决一些区间查询问题,又被称为“优雅的暴力算法”。 时间复杂度为 。 引例:给出一个 个数的序列和 次区间询问,问 中有多少个不同的 阅读全文
摘要:
前缀和 皆用此题 首先打出一份 的暴力代码 for(int l = 1;l <= n; l++) for(int r = l;r <= n ;r++) { sum=0; for(int k = l;k <= r;k++) sum += a[k]; ans = max(sum, ans) 阅读全文
摘要:
【初二国庆集训 CSP模拟赛4】 面试【第二场T1】 用map统计即可 #include<bits/stdc++.h> using namespace std; int main() { int t; scanf("%d",&t); while(t--) { string s; cin>>s; ma 阅读全文
摘要:
今天是集训的最后一天,提一首小词送给自己 莫听穿林打叶声,何妨吟啸且徐行。 竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生。 料峭春风吹酒醒,微冷,山头斜照却相迎。 回首向来萧瑟处,归去,也无风雨也无晴。 Ticket Game 标签:思维 考虑Bob在什么情况下会输。如果他在最后一次填数时两边的差距已经超过 阅读全文
摘要:
前文 明天考试,然后放假, 我的心像四月的小鸟~ 🥤 Queries for Number of Palindromes 标签:回文类区间dp 一道典型的区间dp。注意求的是个数而不是长度。初始化的时候注意一下,len=2时分两种情况。ch[i]=ch[i-1] 时,dp[i-1][i]=3。否则 阅读全文
摘要:
流浪月球【第四周】 #include <bits/stdc++.h> using namespace std; typedef long long ll; const ll mod=1e9+7; ll dp[2005],pre[2005]; //dp[i][j]指在前i天恰好选j个的方案数 //pr 阅读全文
摘要:
乘积最大 由于题目给定的是m,需要分解成m+1部分的乘积,不难想到乘号刚好是m个,那么该题就转化成了m个乘号的插入方式。 最优子结构分析: 设数字字符串为a1a2…an m=1 时,一个乘号可以插在a1a2…an中的n-1个位置,这样就得到n-1种乘积: a1*a2…an, a1a2*a3…an, 阅读全文
摘要:
Hash 键值 (hash) 【思路】按照正常模拟,很容易写出代码,如图: for(int i=1;i<=q;i++) { int opt; scanf("%d",&opt); if(opt==1) { int x,y,ans=0; scanf("%d %d",&x,&y); for(int i=y 阅读全文
摘要:
Kuglarz 首先,有一个比较明显的结论: 必须要知道每一个位置的奇偶性,才能知道所有位置有没有小球。 再仔细一想,每一个位置的奇偶性可以有两种方法推出来: 直接花费 ai,i 得到; 花费两个区间的价值 ai,j+ai+1,j 得到。 可是区间的价值又可以从两个区间推来,那就很难处理了。 考虑把 阅读全文