首页 > TAG信息列表 > Coloring

CF662B Graph Coloring题解--zhengjun

题目传送门 题目大意 给你一张无向图,图中每条边是蓝色或者红色的,让你每次选一个点,就会把与这个点相连的边的颜色反转(红变蓝,蓝变红),求最少步数的方案使得最后所有边的颜色都一样。 思路 好像没有 \(2-sat\) 的题解,那我就来一发。 首先分类讨论:要么都变成红色,要么都变成蓝色。 如果

Cross Coloring(思维/map/逆向)

题目 题意:给定一个 n ∗ m n*m n∗m的矩阵,初始无色,有k种颜色,q个操作。每次操作选择位置

CF寒假补题集——B. Palindromes Coloring

B. Palindromes Coloring You have a string ss consisting of lowercase Latin alphabet letters. You can color some letters in colors from 11 to kk. It is not necessary to paint all the letters. But for each color, there must be a letter painted in that c

Atcoder Regular Contest 063 D - Snuke's Coloring 2(单调栈+线段树)

洛谷题面传送门 & Atcoder 题面传送门 好题一道。 一个很 trivial 的发现是答案等价于求一个周长最大的矩形,满足这个矩形内部(不含边界)没有其他点。 首先注意到一个性质:答案肯定不小于 \(2\max(H,W)+2\),这是因为我们肯定可以框出一个 \(1\times\max(H,W)\) 的矩形,其内部肯定不会含

cf711 C. Coloring Trees(dp)

思路: f(i,j,p)表示第1~i棵树已染色, 染成了j组,第i棵树染成p颜色的最小花费。复杂度 \(O(nkm^2)\)。其实还可以维护2个最值优化到 \(O(nkm)\) #include <bits/stdc++.h> using namespace std; using ll = long long; const int N = 105; int n, m, k, col[N], cost[N][N]; ll f[N][N

Coloring Rectangles

 一开始考虑分类讨论,但是发现考虑的逻辑范围有点多,就很烦躁了。 其实此题如果n%3==0或者m%3==0,都可以直接求出答案,那么实际上要考虑的其实只有n%3!=0&&m%3!=0的情况。 对于这种情况,没必要分四种情况讨论。其实对于任意一个情况,在处理掉可以被整除的部分后,剩余的部分其实只需要

CF720C Homework&&CF600F Edge coloring of bipartite graph

CF720C Homework 构造题,先每行都涂满直至逼近答案,然后对于剩下几层暴搜。 然而换了翻译之后 \(\sum{n*m} \leq 10^5\),而且加上联通的限制吗,貌似直接暴搜也能跑过了,只是慢一些。 总结一下:构造题不要想直接构造出答案,先用一部分达到逼近答案的效果,剩下的部分就可以比较容易地准确获

CF1499G Graph Coloring 题解

Link. Codeforces Luogu Description. 给定一个二分图,给边染色。 使得 \(\sum|\text{black}(u)-\text{white}(u)|\) 最小。 其中 \(\text{black}(u)\) 和 \(\text{white}(u)\) 分别表示和 \(u\) 相邻黑/白边的数量。 支持动态加边,查询哈希值 \(\sum_{e|\text{col}(e)=\text{white}

CF1594E1 Rubik‘s Cube Coloring (easy version)

又是没弄懂的一题 #include<bits/stdc++.h> #define int long long using namespace std; const int mod = 1e9 + 7; signed main() { int n; cin >> n; int f[100005]; f[1] = 16; for (int i = 2; i <= n + 1; i ++ ) { f[i] = (f[i - 1] * f[i - 1]) %

【题解】CF149D Coloring Brackets(区间 DP,记忆化搜索)

Des 给出一个配对的括号序列(如"(())()"、"()"等, ")()"、"(()"是不符合要求的 ),对该序列按以下方法进行染色: 1.一个括号可以染红色、蓝色或不染色 2.一对匹配的括号需要且只能将其中一个染色 3.相邻两个括号颜色不能相同(但可以都不染色) 求符合条件的染色方案数(对1000000007取模) \(\t

【题解】[Codeforces 1503E] 2-Coloring | 20210929 模拟赛 法阵(magic)【组合数 前缀和】

题目链接 题目链接 题意 为 \(n\times m\) 的网格黑白染色,使得每行恰有一个黑色连续段,每列恰有一个白色连续段,求方案数。\(n,m\leq 2021\) 题解 以上前两种情况借助组合数+前缀和+组合数+前缀和+组合数+前缀和+组合数+前缀和处理,会算重最后一种情况。 #include<bits/stdc++.h> us

[AGC026D]Histogram Coloring

\[\color{red}{\text{校长者,真神人也,左马桶,右永神,会执利笔破邪炁,何人当之?}} \\ \begin{array}{|} \hline \color{pink}{\text{The principal is really a god}} \\ \color{pink}{\text{with a closestool on the left and Yongshen on the right}} \\ \color{pink}{\text{holdi

TZOJ6128: Graph Coloring(树形DP)

描述 Given an connected undirected graph with N vertices and N-1 edges,  you want to color all vertices with only 3 colors.  Now, some vertices have been colored. you should color the remaining vertices and guarantee that each pair of directly connected

B2 - Wonderful Coloring - 2

题目:https://codeforces.com/contest/1551/problem/B2 题解:用map<int, vector<int> >mp;记录下标  。然后进行遍历,每个数一次性处理。 //#include <bits/stdc++.h> #include <iostream> #include <map> #include <algorithm> #include <vector> using nam

D. Petya and Coloring 题解(组合数学+dp+容斥)

题目链接 构造方法比较容易想到 第1列和第m列的颜色种数要相等,中间的列颜色来源于第1列和第m列中的共同颜色 主要的问题是如何解决\(n\)个元素里面存在\(i\)个元素,且每个元素至少存在一次的方案数 这是一个经典问题,可以利用dp+容斥去解决 代码 #include<bits/stdc++.h> #define fi

Coloring Contention

#include <bits/stdc++.h> #include<string.h> #include<iostream> #include<algorithm> #include<stdio.h> #define N 10000000 #define M 10000000 using namespace std; int js=0; int h[N], e[M], w[M], ne[M], idx; int dist[N], st[N];//

Codeforces Round #734 (Div. 3)_B2. Wonderful Coloring - 2(贪心)

文章目录 Part1:题目链接Part2:题意Part3:思路1.在最后得到的序列中,非0数字的个数一定为k的倍数。2.对于一个数字,如果出现了k次以上(包含k次),那么至多只有前k次出现时会被涂色;否则都有可能被涂色。 Part4:AC代码Part5:整活时间 Part1:题目链接 点我就送新阿姆斯特朗回旋加速喷气

coloring 图着色

coloring 图着色 图着色也称为“m着色问题” , 由最多 m 种颜色的给定图着色组成 , 使相邻的顶点不被赋予相同的颜色 图着色问题(Graph Coloring Problem, GCP) 又称着色问题,是最著名的NP-完全问题之一。道路着色问题(Road Coloring Problem)是图论中最著名的猜想之一。 学定义:给定一

Codeforces Round #369 (Div. 2) C. Coloring Trees DP

原题链接:https://codeforces.ml/problemset/problem/711/C 目录 题意分析Code 题意 有n棵树,m种颜色,我们定义美丽度(如果相邻颜色不同则美丽数加一),cost[i][j]为给第i棵树上j种颜色的花费,问最后满足美丽度为k时的最小花费。 分析 根据状态很容易想到三维的DP,

CF1499G - Graph Coloring

CF1499G - Graph Coloring 题目大意 有一个二分图,\(m\)条边,每条边可以选择为+1或者-1,表示两端的点权值\(a_u,a_v\pm 1\) 最终的权值总和是\(\sum |a_u|\) 现在要维护一个动态加边操作 每次加边之后动态维护一个最优的方案最小化权值和,输出其\(\text{Hash}\)和 分析 容易发现在最

[CF1503E]2-coloring

壹、题目描述 ¶ 传送门 to CF 贰、题解 ¶ 个人认为官方题解说得很妙了,所以就去这里看吧...... 只是推出来的式子有点不一样,我的是下面这样的: \[2\sum_{p=1}^{m-1}\sum_{i=1}^n\sum_{j=i+1}^n{p-1+n-i\choose p-1}{p+i-1\choose i-1}{m+1-p-1+n-j\choose n-j}{m+1-p-2+j-1\choose

[CF1503B]3-Coloring

壹、题目描述 ¶ 传送门 to CF 中文翻译: 这是一道交互题。 现有一个 \(n\times n\) 的网格,你要在这个网格中填入 \(3\) 种颜色 \(1,2,3\). 你可以填任意一种颜色任意多次,只要你可以赢。 程序会和你交互 \(n^2\) 次,每一次程序会给你一种颜色 \(a\),表示在这一轮中你不能填入颜色 \(

Codeforces Round #712 (Div. 1)

A - Balance the Bits 考虑将 ( 看做 \(1\), ) 看做 \(-1\)。那么一个括号序列合法当且仅当每个位置的前缀和均 \(\ge 0\) 并且总和为 \(0\)。 优先满足第一个条件,有一个显然的保底策略:对于 \(s_i=1\) 的,两边都添加 (,尽管可能最终总和会过大;而对于 \(s_i=0\) 的,两边选择前缀和较小

CF149D Coloring Brackets

VIII.CF149D Coloring Brackets 考虑设\(f[i][j][k=0/1/2][l=0/1/2]\)表示:将区间\([i,j]\)里的东西染色,左端染上颜色\(k\),右端染上颜色\(l\)(\(0\)为红,\(1\)为蓝,\(2\)不染)的方案数。 因为这个\(n\)是\(700\),\(n^3\)似乎过不了,考虑\(n^2\)的区间DP。 我们首先关于每个括号找出它匹配

1154 Vertex Coloring (25 分)

A proper vertex coloring is a labeling of the graph's vertices with colors such that no two vertices sharing the same edge have the same color. A coloring using at most k colors is called a (proper) k-coloring. Now you are supposed to tell if a given