CodeforcesRound#149(Div.2)_html/css_WEB-ITnose
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了CodeforcesRound#149(Div.2)_html/css_WEB-ITnose,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含6325字,纯文字阅读大概需要10分钟。
内容图文
![CodeforcesRound#149(Div.2)_html/css_WEB-ITnose](/upload/InfoBanner/zyjiaocheng/400/4f8d59e89fed42a7a28f4676e54a4e17.jpg)
这个round真的太简单了。。
A,B就不说了
C 题目说了合法的点不会超过10^5个
那么直接离散化,完了跑bfs就行了
离散化用map就行
#include #include #include #include #include #include #include #include #include
D . 注意题目中 按钮按下会导致的是 直接相邻的点变化,不是间接的
那么有种想法就是。
对于一个状态,如果其中有的点的值是跟a数组相应的值相同。
那么就去按这些点, 按过之后这些点肯定不会再出现跟a中相应的值相同了
用一个队列去搞,每次把需要按的点放到队列里,然后假如按完出现了新的需要按的点,就加入队列尾部
最后如果按完所有的点还是会出现与a中相应值相同的情况
就要输出-1了
为啥这么搞能对, 想一下就知道
对于一个状态,按非法点会导致其变成合法,如果周围有被按过的,那么这些被按过的一定是合法的,再变化也是合法的,
如果周围有的变化成了非法的,那么这些非法的一定还能按,那要是这么想的话,-1的情况实际是不存在的(看数据里好像也没有-1)
按的时候直接邻接表模拟就行了,因为每个点只能被按一次,所以每条边最多访问两次
#include #include #include #include #include #include #include #include #include
E 非常老的题, USACO某个题的变种
按位建线段树就是此题了
#include #include #include #include #include #include #include #include #include
内容总结
以上是互联网集市为您收集整理的CodeforcesRound#149(Div.2)_html/css_WEB-ITnose全部内容,希望文章能够帮你解决CodeforcesRound#149(Div.2)_html/css_WEB-ITnose所遇到的程序开发问题。
如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
来源:【匿名】