自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 多阶段决策问题

多段图的最短路多段图是一种特殊的DAG,其结点可以划分成若干个阶段,每个阶段只由上一个阶段所 决定。例题Unidirectional TSPuva116注意多解时输出字典序最小的//d(i,j)表示从i,j出发到最后一列的最小和//nextt(i,j)表示取最小和,j+1列应是多少行(字典序最小)#include <iostream>#include <cstdio>#include <algorithm>#define INF 0x3f3f3f3f

2022-01-12 21:09:30 457 2

转载 Educational Codeforces Round 102(Div2)CD

C题(数学 构造)No More Inversions如图是a数组,把a数组分为A,B两个部分a数组逆序对=A部分逆序对+B部分逆序对+AB之间逆序对可证明a数组逆序对 (n-k)2因为a数组B部分对称,b数组B部分也对称b数组在对称轴之前的部分是permutation又由以上证明结论,b数组B部分逆序对 (n-k)2又b数组逆序对不能超过a数组故b数组 A部分逆序对=0 AB之间逆序对=0故A部分 1,2,3……又b字典序最大故B部分 k,k-1,k-2….知道b数组,容

2021-01-19 13:08:29 157

原创 Educational Codeforces Round 101(Div2) A~D

A题(贪心)Regular Bracket Sequence题意:括号匹配问题,给定序列,含一个 ‘( ’ 一个 ’ )‘ 其他是问号,问号可以是左括号也可以是右括号,问能否构成 合法括号表达式判断合法表达式,就是遇到左括号,进栈,遇到右括号,检验,出栈,最后最后栈是否空关键在右括号为了使右括号检验正确,贪心,前 s/2-1 个 ? 用 ( 代替 , 其他 ? 用 ) 代替那么 只需要判断奇偶,第一个不是‘ ) ’ 最后一个不是 ’ ( ‘#include <bits/stdc

2021-01-15 21:24:25 92

原创 洛谷 P2025

#include <stdio.h>#include<queue>#define maxn 100005//按人头来算,算每艘船进港后的答案,因联系上一艘船的答案,不然容易超时struct node{ int national; int time;}key;using namespace std;int main(){ in...

2020-12-30 13:06:11 166

原创 洛谷 P1449

#include <stdio.h>#include<stack>using namespace std;int main(){ int ch,num=0; stack<int> s; while((ch=getchar())!='@') { if(ch<='9'&&ch>...

2020-12-30 13:05:40 68

原创 I-Interesting Computer Game (2020牛客多校第八场)

2020牛客多校第八场I-Interesting Computer Game题意:给定n对数,每对数中选择一个,最多选择多少个不同的数。题解:不同的数当做图中的点,二元组(ai , bi)当成一条边。每个无环图,贡献=点数-1,每个有环图,贡献=点数。故ans=点数-无环图数量。具体步骤:1、离散化,因为数据范围过大,步骤2用到并查集。2、用并查集得到无环图的数量。首先所有节点标记为0(loop数组),在并查的过程中,把有环图的根节点标为1,则标记为0的根节点的数目即为无环图数量。注意:

2020-12-30 13:02:02 108

原创 Educational Codeforces Round 100(Div2) A~D

A题题意有三只怪物,血量分别为a,b,c,对他们施加攻击,第一次攻击,第二次攻击,第三次………每一次攻击可以使指定的一只怪物血量减一,第(7的倍数)次攻击,大招,会使三只怪物血量都减一。问:能否使他们血量在某一次攻击后,同时变为0.题解血量在一次攻击后同时变为0,则最后一次攻击是大招,则整个过程就是 整数*(6次攻击+大招),故总血量%9=0。另外min(a,b,c)>=大招的次数,不然有怪物在整个过程完之前,血量已经变0了。只要每次攻击恰当选择怪物,可以实现题目要求,具体怎么选不考虑

2020-12-22 21:42:51 124

原创 String Deletion (cf div2 D) (贪心)

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2020-10-14 20:22:34 267 1

原创 Codeforces #664(Div.2) A~C

A题题解的方案挺好的要形成回文,最后的 r,g,b,w 中,三偶一奇 或者 全为偶两步:1、验证初始的 r,g,b,w 是否满足2、验证变色一次后的 r,g,b,w 是否满足(前提 r>0,g>0,b>0)(变色两次(偶>0)后,所有数字的奇偶没有变,没有意义 变色三次(奇>1)后,得到的数字的奇偶与变一次相同,没意义)B题C题c1 |c2…cn=A,则,对任意的i(1~n),ci | A=A枚举 ans [ 0,511 ] ,第一个满足条件 对任意

2020-08-13 12:12:25 189

原创 ABC 047 C.D

链接C题题意的一部分:棋子是排成一行的。题解:在一行的两端(恰当的)放棋子,每放一枚棋子(不管在左边还是右边放),这一行的棋子的颜色变化次数少1,故为了使得一行所有棋子颜色相同(即颜色变化次数=0),最少放棋子数=初始一行,棋子颜色变化次数。D题题意:商人A倒卖苹果,依次经过1,2…n号村庄,每个村庄苹果价格不同,他可以在任意一个村庄买苹果或卖苹果,这次最多买T个苹果,另一个商人B捣乱,可以干预任意一个村庄的苹果价格,干预的单价的差价要B商人出,问B最少花多少钱,才能让A赚不到那么多钱(原本能赚的

2020-08-11 15:18:15 245

原创 P1955 [NOI2015]程序自动分析 【离散化】【并查集】

链接题解:首先是并查集然后由于 i, j 的范围是[1,1e9],数组不能开这么大,实际上不同数字的个数不会超过2e6,所以离散化注意:并查集时,先操作所有e=1,再操作所有e=0,因为判断答案时,只有出现一种情况时判断为NO,即(fa==fb&&!e)先操作所有e=1(并)或者反证,例:1 2 01 2 1不是先1后0,会输出YES, 正解NO#include <bits/stdc++.h>using namespace std;const int

2020-08-05 17:01:20 90

原创 DAG

最长路及其字典序(嵌套矩形问题)固定终点的最长路和最短路(硬币问题)找对状态例题The Tower of Babylon uva437d(i,j) 表示 第i个立方体(以第j条边为高)作为柱底最大高度#include <iostream>#include <stdio.h>using namespace std;int n;int a[35][3];int vis[35][3];int d[35][3];int dp(int i,int j){ i

2020-07-23 10:49:47 94

原创 Codeforces #494(Div3) A~D

链接A题题解:cnt[]统计每个数出现次数,答案为cnt中的最大值B题题解:以特定方式构造假定1更多,首先构造10101(x=4),或1010(x=3),满足x的要求然后将多余的0,1插入到最后两个0,1,此时x并未改变(注意构造时不能是01010,例:a=2,b=3,x=4,此种方式错误)C题暴力吧D题题解:贪心取尽量少的硬币,所以尽量取面值大的#include <iostream>#include <stdio.h>using namesp

2020-07-12 00:03:49 140

原创 Codeforces #486(Div.3) A~D

A题题解:一个vis数组全部为0,一个ans数组未出现过,vis标1,ans记录B题题意:能不能改变多个字符串顺序,使得前一个字符串是后一个字符串的子串题解:假定能,那么改换顺序后,一定是长度短的串在前。所以先按串的长短排序(憨批竟然直接sort,sort之后不一定是长度短的在前,例如c,ab)然后验证i是不是i+1子串,i从0到n-1C题题意:有很多组整数,能否选其中两组i,j(i!=j),i组去掉某个数,求和,j组相同,然后和相等。题解:遍历所有组,遍历去掉本组某个元素,

2020-07-10 17:48:28 108

原创 Codeforces #481(Div.3) A~E

A题题解:从右往左历B题题解:子串含连续的超过两个的x需要计算:num-2所有的加起来即为答案C题题解:先求1dormitory最后一个room总编号,2dormitory,3,4……然后判断问到的总编号是哪个dormitory,然后是哪个room注意因为问到的编号递增,所以可以从上次问到的dormitory往后历D题题解:确定了前三项,就确定了整个等差数列前三项每一项都有三种可能,0,+1,-1总共27种可能,判断每种可能能否构成等差数列,若有多解,改动项数最少即为答案

2020-07-08 11:31:55 145

原创 Factorial

题目题意给一个数,求它的阶乘末尾有多少个0题解ans=一个数末尾有多少0=一个数最多有多少个因子10又10=5*2=min{maxnum(因子5),maxnum(因子2)}唯一分解定理

2020-05-19 23:58:24 100

原创 P4387 【深基15.习9】验证栈序列

栈#include <stdio.h>#include<stack>#include<queue>using namespace std;int main(){ int a[100005]; int t,i; scanf("%d",&t); while(t--) { stack&l...

2020-03-23 17:17:02 166

原创 P1019 单词接龙

DFS题解:“在两个单词相连时,其重合部分合为一部分”当两个单词有多个重合方式,应为重合字母较少的那一种,如abababab和abababc接龙时,应为abababab abababc虽然两个相邻的部分不能存在包含关系,但是一个词还是可以和它本身相连,如ababab,可以两个这样的词相连,ababab ababab思路:1,枚举所有词,计算这个词与所有词相连后,龙增加...

2020-03-17 20:15:20 179

原创 P1219 [USACO1.5]八皇后 Checker Challenge

共对角线,行+列相同,或者行-列相同dfs的典型例题题目描述一个如下的 6 \times 66×6 的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。上面的布局可以用序列 2 4 6 1 3 5来描述,第 i 个数字表示在第 i 行的相应位置有一个棋子,如下:行号 1 2 3 4 5 6列号 2 4 6 1 ...

2020-03-02 19:44:45 434

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除