codeforce467DIV2——D. Sleepy Game】的更多相关文章

分析 这个题乍一看有点像之前在CF上做过的一道DP,也是两个人下棋,但是写着写着觉得不对···这个题是的最优策略只是player 1 如果有环则是draw,可以DFS的时候顺便判环(拓扑排序的方法),设dp(i,k) (k=0.1)当前在点i,我是先手(后手)是赢还是输 #include <cstdio> #include <cstring> #include <algorithm> #include <iostream> #include <vect…
题面:P5200 [USACO19JAN]Sleepy Cow Sorting 题解: 最小操作次数(记为k)即为将序列倒着找第一个P[i]>P[i+1]的下标,然后将序列分成三部分:前缀部分(待转移部分),k,后缀部分(不需转移部分). 用树状数组维护前缀部分每一个数挪到后缀部分所需的最小代价(即插到第一个小于它的数前)(这部分完全可以用线段树做). 代码: #include<cstdio> #include<cstring> #include<iostream>…
937D - Sleepy Game 思路: dfs. vis[u][0]==1表示u这个点能从s点偶数路径到达 vis[u][1]==1表示u这个点能从s点奇数路径到达 这个样就能保证dfs时每个点最多被访问2次 那么如果存在一个点u,vis[u][1]==1且u的出度为0,那么就存在能Win的方案 否则,dfs染色判环,如果存在从s点出发的环,就存在Draw的方案 不然就是Lose 代码: #include<bits/stdc++.h> using namespace std; #defi…
题目链接: Sleepy Game 题意: Petya and Vasya 在玩移动旗子的游戏, 谁不能移动就输了. Vasya在订移动计划的时候睡着了, 然后Petya 就想趁着Vasya睡着的时候同时定下策略, 如果可以赢得话输出Win 并输出路径, 如果步数在达到1e6的情况下,就认定为平局, 输出Draw,如果输的话就输出lost. 题解: 这题很容易就可以想到如果图中存在奇数长度的路径从起始点到叶子结点就是Win状态(这里还要注意绕环走的情况,比如说奇数长度的环是可以改变路径的奇偶性的…
D. Sleepy Game time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Petya and Vasya arranged a game. The game runs by the following rules. Players have a directed graph consisting of n vertices…
\(\mathrm{Sleepy Cow Sorting}\) 问题描述 LG5200 题解 树状数组. 设\(c[i]\)代表\([1,i]\)中归位数. 显然最终的目的是将整个序列排序为一个上升序列,于是倒序枚举,先把最后有序的插入. 剩下来前面无序的就是要操作的,于是直接输出操作次数. 接下来方案很容易构造. \(\mathrm{Code}\) #include<bits/stdc++.h> using namespace std; void read(int &x){ x=0;…
P5200 [USACO19JAN]Sleepy Cow Sorting 题目描述 Farmer John正在尝试将他的N头奶牛(1≤N≤10^5),方便起见编号为1…N,在她们前往牧草地吃早餐之前排好顺序. 当前,这些奶牛以p1,p2,p3,…,pN的顺序排成一行,Farmer John站在奶牛p1前面.他想要重新排列这些奶牛,使得她们的顺序变为1,2,3,…,N,奶牛1在Farmer John旁边. 今天奶牛们有些困倦,所以任何时刻都只有直接面向Farmer John的奶牛会注意听Farme…
链接:https://ac.nowcoder.com/acm/contest/338/C来源:牛客网 题目描述 Houraisan☆Kaguya is the princess who lives in Literally House of Eternity. However, she is very playful and often stays up late. This morning, her tutor, Eirin Yagokoro was going to teach her so…
参考:http://msdn.microsoft.com/en-us/library/windows/desktop/ms679291(v=vs.85).aspx http://msdn.microsoft.com/en-us/library/windows/desktop/ms680181(v=vs.85).aspx http://sleepy.sourceforge.net/ http://www.codersnotes.com/sleepy Very Sleepy是一个比较好用的Profi…
题目大意:从1开始往后写数字,构成一个如下的字符串 123456789101112... .求第n位的数字是多少. 找规律,按数字的位数可以构建一个类似杨辉三角的东西,求出第n位是哪个数的第几位即可. #include <cstdio> #include <cmath> int main() { #ifdef LOCAL freopen("in", "r", stdin); #endif ] = {}; ; ; i <= ; i++)…
我一开始把题目看错了 我以为是博弈.. 这题就是一个简单的判环+dfs(不简单,挺烦的一题) #include <algorithm> #include <cstdio> #include <cstring> #include <iostream> #include <queue> #include <vector> const int N = 2e5 + 5; struct GraphNode { int toVertex, nex…
题意: 一种游戏,2个人轮流控制棋子在一块有向图上移动,每次移动一条边,不能移动的人为输,无限循环则为平局,棋子初始位置为$S$ 现在有一个人可以同时控制两个玩家,问是否能使得第一个人必胜,并输出一个解,否则判断是否能平局 题解: 看到这个题首先我想到了强连通分量,但是事实证明求出强连通分量,缩点对解决问题没有什么帮助.... 能写一些看似正确的算法,但其实是假算法来的.. ........... 所以应该先分析策略,肯定是能赢就赢,不能赢就求平局,最后才算输 平局很好判断,有向图上,从$S$点…
DSP Builder在算法友好的开发环境中帮助设计人员生成DSP设计硬件表征,从而缩短了DSP设计周期.已有的MATLAB函数和Simulink模块可以和Altera DSP Builder模块以及Altera知识产权(IP)MegaCore功能相结合,将系统级设计实现和DSP算法开发相链接.DSP Builder支持系统.算法和硬件设计共享一个公共开发平台. 设计人员可以使用DSP Builder模块迅速生成Simulink系统建模硬件.DSP Builder包括比特和周期精度的Simuli…
http://codeforces.com/problemset/problem/936/B Petya and Vasya arranged a game. The game runs by the following rules. Players have a directed graph consisting of n vertices and m edges. One of the vertices contains a chip. Initially the chip is locat…
还好这场没打 MD什么破题 n<=100000,m<=200000的图问从s点出发能否走奇数条边到一个没有出度的点. 直观的想法:做一个bfs,$f(i,0/1)$表示从$s$出发到$i$能否走奇数/偶数条边,搜出来,找一个$f(t,1)=1$ && $ chudu(t)=0$的点做终点. 如果找不到,就看能否走进一个环. 然后开始跳坑辣!(排名不分先后) 坑一:能否走进一个环,咋写?我先这样写的 mdzz,直接搜好像不靠谱..老老实实写tarjan吧 坑二:最后构造答案,咋写…
ri,被黄题虐. 思路:贪心?? 提交:2次 错因:没有特判 题解: 先排序. 最小代价:固定区间长度为\(n\),我们扫一遍数组看区间最多包含几个数,设为 \(mx\) ,答案就是\(n-mx+1\):然而还要特判一种,见下. 此时答案是2,但是我们会算成1 最大代价:考虑一定是往一边缩的感觉,于是是端点先跳到一边的里面,然后这一边开始往里缩,直到缩成n 所以答案是\(\max(a[n-1]-a[1]+1,a[n]-a[2]+1)-(n-1)+1\),最后的加一是刚开始端点往里跳的代价. 代码…
大意: 给定有向图, 初始点S, 两个人轮流移动, 谁不能移动则输, 但后手睡着了, 先手可以控制后手操作, 求最后先手结果. 刚开始看错了, 还以为后手也是最优策略.... 实际上判断是否有偶数个节点的路径即可, 每个点拆成奇数跟偶数, 这样图就是一个DAG, 可以DP求出路径, 若不存在的话找一下是否有环, 有环则平局, 无环则输. #include <iostream> #include <sstream> #include <algorithm> #includ…
链接:https://ac.nowcoder.com/acm/contest/993/E 来源:牛客网 对牛排序 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 Farmer John正在尝试将他的N头奶牛(1≤N≤100),方便起见编号为1-N,在她们前往牧草地吃早餐之前排好顺序. 当前,这些奶牛以p1,p2,p3,-,pN的顺序排成一行,Farmer John站在奶牛p1前面.他想要重新…
拿到这个问题,我们从头开始思考. 我们把序列看做两部分,一部分在前表示待排序的,记为序列1,一部分在后表示已排序的,记为序列2. 因为序列2在后,所以不必担心它影响序列1的排序,那么对于序列1的第一个元素,显然珂以放到序列2的某个对应位置,使序列2仍然保持有序 那么很简单,我们发现只需要将序列1的每个元素都移动一次即可完成排序,这显然是最优的 讲一下初始化,对于序列2,我们发现显然从最后一个逆序对的第二个元素开始一直到序列的最后一个元素珂以直接作为序列2的,那么剩下的元素按原来的顺序放入序列1,…
题意:给一个有向图和起点,然后只有一名选手,这名选手可以随意挪动棋子,最终不能动的时候走过的边为奇数边为Win并输出路径,否则如果有环输出Draw,否则输出Lose; 题目链接 知道状态数最多只有n*2就可以了,分成先后手考虑. #include<cstdio> #include<cmath> #include<cstring> #include<algorithm> using namespace std; ; ],top,nxt[N],n,m,x,y,p…
If...Else 语句 JavaScript中if...else语句和Java中的语法和使用方法是一样的. 只是在JavaScript中要使用小写字母.使用大写的 IF 会出错! 至于if...else...else if...和Java中的都是一样的. 例: var d = new Date() var time = d.getHours()   if (time<10) { document.write("<b>Good morning</b>")…
td.graph { font-size:24px; } UNICODE 7.0定义了78个表情符,从0x1F600到0x1F64F(其中0x1F643和0x1F644没有定义).下表中列出了这些表情符,如果第一列CHART没有显示,说明你的浏览器还不支持. 参考资料:http://www.unicode.org/Public/7.0.0/charts/CodeCharts.pdf emojiList = new Array ( { id: 0x1F600, desc: "GRINNING FA…
一.基本的线程机制 并发编程使我们可以将程序划分为多个分离的.独立运行的任务.通过使用多线程机制,这些独立任务中的每一个都将由执行线程来驱动. 线程模型为编程带来了便利,它简化了在单一程序中同时jiao'zhi'zai'yi'qi交织在一起的多个操作的处理.在使用线程时,CPU将轮流给每个任务分配其占用时间.每个人物都觉得自己在一直占用CPU,但事实上CPU时间是划分成片段分配给所有的任务.线程的一大好处就是可以使你从这个层次抽身出来,即代码不必知道他是运行在具有一个还是多个CPU的机器上.所以…
abide by(=be faithful to ; obey vt)忠于:遵守. a) Plese feel assured we will abide by our promise. 2. be absent from…缺席 a) He is seldom absent from school. 3. absence of mind(=being absent-minded) 心不在焉 a) Absence of mind in chemical experiments may cause…
0 前言 如有错误欢迎指出,如需转载,请注明原文链接. 1 Rack是什么 一句话介绍,Rack是一个Web接口,定义了一系列的标准,具体实现的工作是交给服务器(puma, thin等)做的. 如果你了解J2EE,Rails开发和J2EE开发对比,大概是这么个关系 Rack - Servlet puma, thin等 - tomcat, weblogic等 Rails - J2EE中常用的开发框架,如spring-mvc, structs2, mybatis等 2 Rack程序长什么样子 Rac…
carbaugh/lice lice : Generate license files for your projects 一个用来为你的项目生成许可证的工具.这下可方便了,不用手工的去修改了! coleifer/peewee peewee: a small, expressive orm – supports postgresql, mysql and sqlite 你在用SQLAlchemy ? 我强烈推荐你看下peewee 来看一个例子: User.select().where(User.…
Inna and Alarm Clock Time Limit: 1000MS   Memory Limit: 262144KB   64bit IO Format: %I64d & %I64u Submit Status Description Inna loves sleeping very much, so she needs n alarm clocks in total to wake up. Let's suppose that Inna's room is a 100 × 100 …
字符串联结和重复操作符   联接: .  重复:x  联接且赋值(类似+=): .=例:  $newstring = "potato" . "head";  $newstring = "t" x 5;  $a = "be";  $a .= "witched"; # $a is now "bewitched" 写文件 open(MF,">/tmp/test.txt"…
package com.thread1; public class LiffOff implements Runnable{ protected int countDown = 10; private static int taskCount = 0; private final int id = taskCount++; public LiffOff() { } public LiffOff(int countDown) { this.countDown = countDown; } publ…
导读: JavaScript条件语句 JavaScript循环语句 JavaScript网页中错误捕获 JavaScript的Break和Continue命令 JavaScript的转义字符 1.JavaScript条件语句[返回] 在JavaScript中,可以使用下面4种条件语句: if 语句:在一个指定的条件成立时执行代码: if...else 语句:在指定的条件成立时执行代码,当条件不成立时执行另外的代码: if...else if....else 语句:使用这个语句可以选择执行若干块代…