cf C. Vasya and Robot】的更多相关文章

C. Vasya and Robot time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Vasya has got a robot which is situated on an infinite Cartesian plane, initially in the cell (0,0)(0,0). Robot can perfor…
http://codeforces.com/contest/355/problem/C 枚举L和R相交的位置. #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const __int64 inf=1e19; int n,l,r,ql,qr; ]; ]; ]; __int64 min1(__int64 a,__int64 b) { if(a>b) retur…
任意门:http://codeforces.com/contest/1073/problem/C C. Vasya and Robot time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Vasya has got a robot which is situated on an infinite Cartesian plane, i…
C. Vasya and Robot time limit per test: 1 secondmemory limit per test: 256 megabytesinput: standard inputoutput: standard output Vasya has got a robot which is situated on an infinite Cartesian plane, initially in the cell (0,0)(0,0)(0,0). Robot can…
1.题目描述 Vasya has got a robot which is situated on an infinite Cartesian plane, initially in the cell (0,0)(0,0). Robot can perform the following four kinds of operations: U — move from (x,y) to (x,y+1) D — move from (x,y)to (x,y−1) L — move from (x,y…
D. Broken robot 链接. 题意: 一个方格,从(x,y)出发,等价的概率向下,向左,向右,不动.如果在左右边缘上,那么等价的概率不动,向右/左,向下.走到最后一行即结束.求期望结束的步数. 分析: 因为不能往上走,所以行与行之间存在转移,即上一行转移到下一行. 同一行内的位置可以互相转移,所以可以对每一行内进行高斯消元,那么复杂度是$O(n^4)$,但是发现高斯消元的矩阵中每行只有三个位置有数,这个矩阵叫三对角矩阵,观察这个矩阵,发现可以O(n)消元.复杂度$O(n^2)$ 代码:…
CF题目难度普遍偏高啊-- 一个乱搞的做法.因为代价为最大下标减去最小的下标,那么可以看做一个区间的修改.我们枚举选取的区间的右端点,不难发现满足条件的左端点必然是不降的.那么用一个指针移一下就好了 注意特判无解和答案为\(0\)的情况,时间复杂度\(O(n)\)(然而因为人傻常数大所以还跑不过\(O(nlogn)\)的) //minamoto #include<bits/stdc++.h> #define rint register int #define GG return puts(&q…
题目链接:http://codeforces.com/contest/355/problem/C 题意:1~n n个物品各重wi,现在有一个人可以从左边拿和从右边拿, 左边拿一个物品的花费是l*wi,从右边拿是r*wi.然后如果有一次从左边拿的上一次操作也是从左边拿的,就要额外花费ql,同理右边,问最小花费. 眼瞎胡乱跑了一发dp结果T了- 仔细观察就会发现,题意说的是-左手一定从最左边拿,右手一定从最右边拿-- 那么一定有一个点,这个点的左手边全是左手拿的,右手边都是右手拿的. 那么枚举这个点…
题意:一个游戏,A童鞋在1~n的范围里猜一个数,B童鞋询问一个集合,A童鞋要对集合里每个数做出回答,他猜的数能否给整除,B要通过这些答案得到A猜的数,最少需要猜哪些数? 解法:一个数可以由若干个质数的指数次幂相乘得到,所以只要询问小于n的所有质数的指数次幂就可以得到全部数的答案. 代码: #include<stdio.h> #include<iostream> #include<algorithm> #include<string> #include<…
http://codeforces.com/contest/355/problem/B #include <cstdio> #include <cstring> #include <algorithm> using namespace std; ],b[]; int c1,c2,c3,c4; int n,m; int main() { while(scanf("%d%d%d%d",&c1,&c2,&c3,&c4)!=E…