码迷,mamicode.com
首页 > 其他好文 > 详细

2016青岛网络赛滚粗记

时间:2016-09-17 23:20:13      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

TonyFang+Sps+我=5/12

滚了个大粗

 

01 I count two three

题意:求形同技术分享的数中大于n的最小值

题解:预处理所有的(5194个),在这里面二分

#include<map>
#include<stack>
#include<queue>
#include<cstdio>
#include<string>
#include<vector>
#include<cstring>
#include<complex>
#include<iostream>
#include<assert.h>
#include<algorithm>
using namespace std;
#define inf 1001001001
#define infll 1001001001001001001LL
#define ll long long
#define dbg(vari) cerr<<#vari<<" = "<<(vari)<<endl
#define gmax(a,b) (a)=max((a),(b))
#define gmin(a,b) (a)=min((a),(b))
#define Ri register int
#define gc getchar()
#define il inline
#include<set>
il int read(){
    bool f=true;Ri x=0;char ch;while(!isdigit(ch=gc))if(ch==-)f=false;while(isdigit(ch)){x=(x<<1)+(x<<3)+ch-0;ch=gc;}return f?x:-x;
}
#define gi read()
ll p[10000],_p;
set<ll>q;
int main(){
    q.insert(1);
    int cnt=0;
    while(!q.empty()){
        p[++_p]=*q.begin();
        q.erase(p[_p]); 
        ll t=p[_p];
        if(t>1000000000){break;}
        if(2*t<=1000000000)q.insert(2*t);
        if(3*t<=1000000000)q.insert(5*t);
        if(5*t<=1000000000)q.insert(3*t);
        if(7*t<=1000000000)q.insert(7*t);
    }
    int T=gi;
    while(T--){
        int n=gi;
        int pos = lower_bound(p+1, p+_p+1, n) - p;
        printf("%I64d\n", p[pos]);
    }
}

02

题意:求技术分享,输入文件<1M

题解:显然收敛,如果n很大就输出一个定值,否则暴力

 

03

题意:给定屏蔽词集合和文章,输出屏蔽后的结果

题解:AC自动机。卡空间*****

04

05

题意:扩展石头剪刀步的出售方式,n种出手,问游戏是否平衡

题解:判断奇偶性,奇数可以,偶数不行。

06

题意:最大化欧拉路上点权异或和

题解:如果是欧拉回路,枚举起点.否则欧拉路是唯一的,判断一下度数就可以了

07

 

08

09

10

 

11

题意:边权为1的无向图,每条边有一个花费,求最小花费使得1~n 最短路每条都被截断

题解:1~n的最短路图上最小割,同bzoj1266 [AHOI2006]上学路线route

我写的 QAQ qnmdSPS错误题面吔屎啦

12

13

 

 

又是一个坑。。

2016青岛网络赛滚粗记

标签:

原文地址:http://www.cnblogs.com/chouti/p/5879804.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!