思维
嘉伟森的猫
NYU Shanghai本科,MBZUAI机器学习硕士,深度学习/强化学习菜鸡
展开
-
poj 3279 Fliptile(DFS)
传送门题意:给一个的网格,每个格子的颜色为0或1,每次操作会使自身以及上下左右四个相邻的格子的颜色翻转。问最少翻转几次可以使网格全为0。如果无法实现则输出impossible。题解第一段转自:https://www.cnblogs.com/caitian/p/5396946.html“如果从上到下搜索,当前行是否需要反转取决于上一行的状态,通过翻转当前行使上一行为0,而不是通过上一行翻转为0后,看当前行的状态判断自己是否需要翻转,否则还会继续影响上一行。所以枚举一下第一行所有的状态,搜索到最后一原创 2020-08-06 17:45:15 · 159 阅读 · 0 评论 -
Codeforces 622C Not Equal on a Segment(思维)
传送门题意:给一个长度为n的数组a,每次询问区间内是否存在和不同的数,如果存在则输出一个下标,否则输出-1。题解:想了想似乎在线/离线都不是很好搞,看了一眼题解也是绝了。记一个表示从第i位往右第一个与i不同的数。每次询问如果则直接输出,否则根据和的大小关系输出或者-1。复杂度为。#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using names原创 2020-07-24 18:28:27 · 194 阅读 · 0 评论 -
Codeforces 763A Timofey and a tree(思维)
传送门题意:给一棵n个点的无根树,每个点有一个颜色,问是否存在一个点使得以它为根时,每棵子树内颜色相同。题解:第一反应树形dp,想了想好像没法搞......树上分块这些好像也不行。看了一眼题解...这个想法真的是...一针见血...如果所有点颜色相同那输出YES再随便输个点就好。如果有颜色不同的点对,那么找一条两个端点颜色不同的边,如果他们两个都不能作为合法的根,那么答案是NO(别的任何一点为根,这条边所在的子树不满足条件)。否则答案为YES。复杂度为级别,真是......不知道该说啥...刁钻原创 2020-07-09 18:12:03 · 217 阅读 · 0 评论 -
Codeforces 1201B Zero Array(思维)
传送门题意:给一个长度为n的非负数列,每次可以选两个数同时减1,问能否将整个数列的数全部归零。题解:第一波猜结论猜错了(只猜中第一个必要条件“所有数之和为偶数”,也考虑过如果只有两个数那么必须相等)。其实再多想一步就可以发现如果有多个数,那么最大的那个数在不能超过剩下的之和。超过了的话这个最大数无法归零。现在想想如何证明不超过就一定可以归零。假设最大数为a,次大数为b,剩余的数之和为sum,剩余的数中最大的为c(原数列第三大),我们先用a“消耗”b(同时使a,b减1)直到b==c(这一步一定可以原创 2020-07-08 17:37:09 · 204 阅读 · 0 评论