首页 > 代码库 > 2016青岛网络赛滚粗记
2016青岛网络赛滚粗记
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青岛网络赛滚粗记
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。