吐槽:只能说是上分好场,可惜没打,唉

A:Beru-taxi (水题,取最小值)

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <vector>
#include <queue>
#include <set>
#include <map>
#include <string>
#include <cmath>
#include <stdlib.h>
using namespace std;
typedef long long LL;
int main(){
double x,y,ret=1e9,a,b,v;
int n;
scanf("%lf%lf%d",&x,&y,&n);
for(int i=;i<n;++i){
scanf("%lf%lf%lf",&a,&b,&v);
ret=min(ret,sqrt((x-a)*(x-a)+(y-b)*(y-b))/v);
}
printf("%.10f\n",ret);
return ;
}

B: Interesting drink(二分下)

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <vector>
#include <queue>
#include <set>
#include <map>
#include <string>
#include <cmath>
#include <stdlib.h>
using namespace std;
typedef long long LL;
const int N = 1e5+;
int a[N],n,m,q;
int main(){
scanf("%d",&n);
for(int i=;i<=n;++i)scanf("%d",&a[i]);
sort(a+,a++n);
scanf("%d",&q);
while(q--){
scanf("%d",&m);
printf("%d\n",upper_bound(a+,a++n,m)-a-);
}
return ;
}

C:Hard problem(简单的O(n)dp,dp[i][0/1]代表不反转或者反转,随便写写)

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <vector>
#include <queue>
#include <set>
#include <map>
#include <string>
#include <cmath>
#include <stdlib.h>
using namespace std;
typedef long long LL;
const int N = 1e5+;
const int INF = 0x3f3f3f3f;
LL dp[N][];
int c[N],n;
string a[N],b[N];
int main(){
scanf("%d",&n);
for(int i=;i<=n;++i)scanf("%d",&c[i]);
for(int i=;i<=n;++i){
cin>>a[i];b[i]=a[i];
reverse(b[i].begin(),b[i].end());
}
memset(dp,-,sizeof(dp));
dp[][]=c[];dp[][]=;
for(int i=;i<=n;++i){
if(a[i]>=a[i-]&&dp[i-][]!=-)
dp[i][]=dp[i-][];
if(a[i]>=b[i-]&&dp[i-][]!=-){
if(dp[i][]==-)dp[i][]=dp[i-][];
else dp[i][]=min(dp[i][],dp[i-][]);
}
if(b[i]>=a[i-]&&dp[i-][]!=-)
dp[i][]=dp[i-][]+c[i];
if(b[i]>=b[i-]&&dp[i-][]!=-){
if(dp[i][]==-)dp[i][]=dp[i-][]+c[i];
else dp[i][]=min(dp[i][],dp[i-][]+c[i]);
}
if(dp[i][]==-&&dp[i][]==-){
printf("-1\n");return ;
}
}
int i=n;
if(dp[i][]!=-&&dp[i][]==-)printf("%I64d\n",dp[i][]);
else if(dp[i][]!=-&&dp[i][]==-)printf("%I64d\n",dp[i][]);
else printf("%I64d\n",min(dp[i][],dp[i][]));
return ;
}

D:Vasiliy's Multiset(老题了,01字典树贪心)

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <vector>
#include <queue>
#include <set>
#include <map>
#include <string>
#include <cmath>
#include <stdlib.h>
using namespace std;
typedef long long LL;
const int N = (2e5)*;
const int INF = 0x3f3f3f3f;
int ch[N][],cnt[N],tot,n;
int newnode(){
++tot;memset(ch[tot],-,sizeof(ch[tot]));return tot;
}
void add(int x,int t){
int now=;
for(int i=;i>=;--i){
int nx=(x&(<<i))?:;
if(ch[now][nx]==-)ch[now][nx]=newnode();
now=ch[now][nx];cnt[now]+=t;
}
}
int ask(int x){
int now=,ret=;
for(int i=;i>=;--i){
int nx=(x&(<<i))?:;
if(ch[now][nx^]!=-&&cnt[ch[now][nx^]]){
now=ch[now][nx^];ret+=(<<i);
}
else now=ch[now][nx];
}
return ret;
}
char op[];
int main(){
tot=-;newnode();add(,);
scanf("%d",&n);
while(n--){
int x;scanf("%s%d",op,&x);
if(op[]=='+')add(x,);
else if(op[]=='-')add(x,-);
else printf("%d\n",ask(x));
}
return ;
}

E:Working routine(十字链表暴力,如果不会的话,可以去看看dance link的实现)

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <vector>
#include <queue>
#include <set>
#include <map>
#include <string>
#include <cmath>
#include <stdlib.h>
using namespace std;
typedef long long LL;
const int N = 1e3+;
struct Node{
int u,d,l,r,v;
}p[N*N];
int cnt,n,m,q,mp[N][N];
int main(){
cnt=-;
scanf("%d%d%d",&n,&m,&q);
for(int i=;i<=n;++i){
mp[i][]=++cnt;
}
for(int i=;i<=m;++i)mp[][i]=++cnt;
for(int i=;i<=n;++i){
for(int j=;j<=m;++j){
++cnt;scanf("%d",&p[cnt].v);
mp[i][j]=cnt;
}
}
for(int i=;i<=n;++i){
for(int j=;j<=m;++j){
int id=mp[i][j];
p[id].l=mp[i][j-];
p[id].r=mp[i][(j+)%(m+)];
p[id].u=mp[i-][j];
p[id].d=mp[(i+)%(n+)][j];
}
}
for(int i=;i<=n;++i){
p[mp[i][]].l=mp[i][m];
p[mp[i][]].r=mp[i][];
}
for(int j=;j<=m;++j){
p[mp[][j]].u=mp[n][j];
p[mp[][j]].d=mp[][j];
}
while(q--){
int x1,y1,x2,y2,h,w;
scanf("%d%d%d%d%d%d",&x1,&y1,&x2,&y2,&h,&w);
int now1=mp[x1][],now2=mp[x2][],k1,k2;
for(int i=;i<=y1;++i)now1=p[now1].r;
for(int i=;i<=y2;++i)now2=p[now2].r;
k1=now1,k2=now2;
for(int i=;i<=w;++i){
swap(p[p[k1].u].d,p[p[k2].u].d);
swap(p[k1].u,p[k2].u);
if(i==w)break;
k1=p[k1].r;k2=p[k2].r;
}
for(int i=;i<=h;++i){
swap(p[p[now1].l].r,p[p[now2].l].r);
swap(p[now1].l,p[now2].l);
swap(p[p[k1].r].l,p[p[k2].r].l);
swap(p[k1].r,p[k2].r);
if(i==h)break;
now1=p[now1].d;now2=p[now2].d;
k1=p[k1].d;k2=p[k2].d;
}
for(int i=;i<=w;++i){
swap(p[p[now1].d].u,p[p[now2].d].u);
swap(p[now1].d,p[now2].d);
now1=p[now1].r;now2=p[now2].r;
}
}
for(int i=;i<=n;++i){
int id=p[mp[i][]].r;
for(int j=;j<m;++j){
printf("%d ",p[id].v);
id=p[id].r;
}
printf("%d\n",p[id].v);
}
return ;
}

Codeforces Round #367 (Div. 2) 套题的更多相关文章

  1. Codeforces Round #579 (Div. 3) 套题 题解

    A. Circle of Students      题目:https://codeforces.com/contest/1203/problem/A 题意:一堆人坐成一个环,问能否按逆时针或者顺时针 ...

  2. Codeforces Round #367 (Div. 2)---水题 | dp | 01字典树

    A.Beru-taxi 水题:有一个人站在(sx,sy)的位置,有n辆出租车,正向这个人匀速赶来,每个出租车的位置是(xi, yi) 速度是 Vi;求人最少需要等的时间: 单间循环即可: #inclu ...

  3. Codeforces Round #361 (Div. 2) 套题

    A - Mike and Cellphone 问有没有多解,每个点按照给出的序列用向量法跑一遍 #include<cstdio> #include<cstring> #incl ...

  4. Codeforces Round #369 (Div. 2) 套题

    A:模拟水题不说 #include <iostream> #include <string.h> #include <algorithm> #include < ...

  5. Codeforces Round #367 (Div. 2) A. Beru-taxi (水题)

    Beru-taxi 题目链接: http://codeforces.com/contest/706/problem/A Description Vasiliy lives at point (a, b ...

  6. Codeforces Round #367 (Div. 2) C. Hard problem

    题目链接:Codeforces Round #367 (Div. 2) C. Hard problem 题意: 给你一些字符串,字符串可以倒置,如果要倒置,就会消耗vi的能量,问你花最少的能量将这些字 ...

  7. Codeforces Round #612 (Div. 2) 前四题题解

    这场比赛的出题人挺有意思,全部magic成了青色. 还有题目中的图片特别有趣. 晚上没打,开virtual contest打的,就会前三道,我太菜了. 最后看着题解补了第四道. 比赛传送门 A. An ...

  8. Codeforces Round #378 (Div. 2) D题(data structure)解题报告

    题目地址 先简单的总结一下这次CF,前两道题非常的水,可是第一题又是因为自己想的不够周到而被Hack了一次(或许也应该感谢这个hack我的人,使我没有最后在赛后测试中WA).做到C题时看到题目情况非常 ...

  9. Codeforces Round #367 (Div. 2) D. Vasiliy's Multiset (0/1-Trie树)

    Vasiliy's Multiset 题目链接: http://codeforces.com/contest/706/problem/D Description Author has gone out ...

随机推荐

  1. Vue核心知识-computed和watch的使用场景和方法

    https://www.jianshu.com/p/bb7a2244c7ca

  2. IMDB电影排行爬取分析

    一.打开IMDB电影T250排行可以看见250条电影数据,电影名,评分等数据都可以看见 按F12进入开发者模式,找到这些数据对应的HTML网页结构,如下所示 可以看见里面有链接,点击链接可以进入电影详 ...

  3. Spring事物不回滚

    今天发现个自己的bug,仔细排查后,发现根本原因我在service方法中抛出的异常被控制层的方法捕获了,所以后台页面也只是出现个错误提示,而数据却没有回滚. 解决方式:对自己抛出的异常使用try ca ...

  4. linux运行jar报错

    通过maven打jar包,然后复制到虚拟机上执行nohup java -jar xxx.jar &命令,运行jar文件,这时抛出了异常 com.mysql.jdbc.exceptions.jd ...

  5. ios8 UITableView设置 setSeparatorInset:UIEdgeInsetsZero不起作用的解决办法(去掉15px空白间距)

    但是在ios8中,设置setSeparatorInset:UIEdgeInsetsZero 已经不起作用了.下面是解决办法: 首先在viewDidLoad方法加入以下代码: if(leftTable! ...

  6. CentOS7 安装、配置 Memcached

    点击访问原文地址 介绍 Memcached 是一个分布式.高性能的内存缓存系统,通过缓存内存中的数据和对象,提高和加速动态 web 应用程序的性能.它主要用于加速对数据库重度使用的站点. Memcac ...

  7. 解决window 10 安装软件2503 2502错误

    1.首先打开任务管理器,可以通过右键点击桌面上的任务栏打开任务管理器,也可以通过同时按下键盘上的Ctrl+Alt+Delete键打开任务管理器. 2.打开任务管理器后,切换到“详细信息”选项卡,找到e ...

  8. lastpass密码管理工具使用教程

    现在移动互联网发展异常空气,无论访问哪个平台或者网站必须要注册账号,日子久了就会发现最痛苦的就是记住这些网站的密码.因为我们不可能将所有的网站都是设置同样的的账号密码,因为国内网站用户数据库被泄露的事 ...

  9. 洛谷 2173 BZOJ 2816 [ZJOI2012]网络

    [题解] 明显的LCT模板题,c种颜色就开c棵LCT好了.. #include<cstdio> #include<algorithm> #define N 100010 #de ...

  10. Unity高像素截图

    本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/51386272 作者:car ...