[contest 782] 9.7
[contest 782] 9.7 - XJOI
个人觉得温暖题啊,,,可是卡毛空间呀!!!
T1 传送
线性筛预处理,然后一遍BFS。显然,这个BFS是O(n)的,主要要卡的就是预处理。
code:
%:pragma gcc optimize() #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> using namespace std; ; int L,R,n,H,T; ],cnt; bool isp[N]; int Q[N],f[N]; short D[N]; void Maker(){ memset(isp,,]=isp[]=; memset(p,,,D[]=; ; i<N; i++){ ; ; j<=cnt&&(long long)i*p[j]<N; j++){ isp[i*p[j]]=; ){ ; ) c++,now/=p[j]; D[i*p[j]]=D[i]/(c+)*(c+); break; }else D[i*p[j]]=D[i]+D[i]; } } } )%N,Q[T]=x;} int main(){ Maker(); int Ts; scanf("%d",&Ts); for (; Ts; Ts--){ scanf("%d%d%d",&L,&R,&n); memset(Q,,,T=,Q[]=L; memset(f,,; int x,y; if (L!=R) while (H!=T){ H=(H+)%N,x=Q[H],y=D[x]; if (x==R) break; if (x+y<=n){ ) f[x+y]=f[x]+,pus(x+y); } ){ ) f[x-y]=f[x]+,pus(x-y); } } printf("%d\n",f[R]); } ; }
T2 异或
一眼就是字典树,然而我把ch数组初值赋了-1然后计数时出现了一些奇妙的事情。。。
事实上,ai^x<=lim这是没有不等式规律的,然而,我们可以把他按位来计算,字典树就很有作用了。
复杂度大概是O(30n)。
code:
#include<cstdio> #include<cstring> #include<algorithm> #define M(a,x) memset(a,x,sizeof a) #define jug(i,x) (((1<<i)&x)>0) using namespace std; ; int n,m,a[N]; struct Trie{ ][],va[N*]; void init(){ siz=,M(ch,),M(va,); } void insert(int x){ ; ; i>=; i--){ bool c=jug(i,x); if (!ch[u][c]) ch[u][c]=++siz; u=ch[u][c],va[u]++; } } int query(int x,int lim){ ) ; ,ret=n; ; i>=; i--){ bool v=jug(i,x),w=jug(i,lim); ) ret-=va[ch[u][-(w^v)]]; u=ch[u][w^v]; } return ret; } }t; inline int read(){ ; char ch=getchar(); ') ch=getchar(); +ch-',ch=getchar(); return x; } int main(){ n=read(),m=read(),t.init(); ; i<=n; i++) a[i]=read(),t.insert(a[i]); for (; m; m--){ int x=read(),L=read(),R=read(); printf()); } ; }
T3 棋盘
md,看到这题就想表一下。为什么要卡16MB!!!
还不是因为我手贱将f[1<<20]“细心地”变成f[1<<21],然后爆了0.39M内存。。。
好吧,这就是个状压DP,真的水。
code:
%:pragma gcc optimize() #include<cstdio> #include<cstring> #include<algorithm> #include<queue> #define LL long long using namespace std; ; ][]; <<]; LL ans; int main(){ scanf(<<n); ; i<n; i++) scanf("%s",G[i]); memset(f,,sizeof f); ; i<n; i++) ][i]==<<i]=; ; r<n; r++){ ; j--) ; i<n; i++) <<i)&j)==) f[j|(<<i)]=((LL)f[j|(<<i)]+f[j])%TT; ; i<n; i++) <<i]++; } ; j<M; j++){ ; ; i<n; i++) <<i)&j) c++; if (c==k) ans=(ans+f[j])%TT; } printf("%lld",ans%TT); ; }
总而言之,题目不难,限制变态。。。
[contest 782] 9.7的更多相关文章
- Codeforces 782C. Andryusha and Colored Balloons 搜索
C. Andryusha and Colored Balloons time limit per test:2 seconds memory limit per test:256 megabytes ...
- 树的性质和dfs的性质 Codeforces Round #403 (Div. 2, based on Technocup 2017 Finals) E
http://codeforces.com/contest/782/problem/E 题目大意: 有n个节点,m条边,k个人,k个人中每个人都可以从任意起点开始走(2*n)/k步,且这个步数是向上取 ...
- 2-sat Codeforces Round #403 (Div. 2, based on Technocup 2017 Finals) D
http://codeforces.com/contest/782/problem/D 题意: 每个队有两种队名,问有没有满足以下两个条件的命名方法: ①任意两个队的名字不相同. ②若某个队 A 选用 ...
- Codeforces Round #403 (Div. 2, based on Technocup 2017 Finals) E Underground Lab
地址:http://codeforces.com/contest/782/problem/E 题目: E. Underground Lab time limit per test 1 second m ...
- Codeforces Round #403 (Div. 2, based on Technocup 2017 Finals) D. Innokenty and a Football League
地址:http://codeforces.com/contest/782/problem/D 题目: D. Innokenty and a Football League time limit per ...
- Codeforces Round #403 (Div. 2, based on Technocup 2017 Finals) C Andryusha and Colored Balloons
地址:http://codeforces.com/contest/782/problem/C 题目: C. Andryusha and Colored Balloons time limit per ...
- Codeforces Round #403 (Div. 2, based on Technocup 2017 Finals) B. The Meeting Place Cannot Be Changed
地址:http://codeforces.com/contest/782/problem/B 题目: B. The Meeting Place Cannot Be Changed time limit ...
- Codeforces Round #403 (Div. 2, based on Technocup 2017 Finals) A. Andryusha and Socks
地址:http://codeforces.com/contest/782/problem/A 题目: A. Andryusha and Socks time limit per test 2 seco ...
- 【codeforces 782C】Andryusha and Colored Balloons
[题目链接]:http://codeforces.com/contest/782/problem/C [题意] 给你一棵树 让你满足要求 ->任意相连的3个节点的颜色不能相同 的情况下进行染色 ...
随机推荐
- 《机器学习实战》之k-近邻算法(手写识别系统)
这个玩意和改进约会网站的那个差不多,它是提前把所有数字转换成了32*32像素大小的黑白图,然后转换成字符图(用0,1表示),将所有1024个像素点用一维矩阵保存下来,这样就可以通过knn计算欧几里得距 ...
- oracle 与其他数据库如mysql的区别
想明白一个问题:(1)oracle是以数据库为中心,一个数据库就是一个域(可以看作是一个文件夹的概念),一个数据库可以有多个用户,创建用户是在登陆数据库之后进行的,但是有表空间的概念(2)而mysql ...
- 【Python】【数据库】
#[[数据库]]'''MySQL是Web世界中使用最广泛的数据库服务器.SQLite的特点是轻量级.可嵌入,但不能承受高并发访问,适合桌面和移动应用.而MySQL是为服务器端设计的数据库,能承受高并发 ...
- Unity--game
打怪兽--头像状态 Git :https://github.com/vinieo/attck 打怪兽--背景音乐音量 Git :https://github.com/vinieo/ack_bgm 小球 ...
- BZOJ 4591 【SHOI2015】 超能粒子炮·改
题目链接:超能粒子炮·改 这道题的大体思路就是用\(lucas\)定理,然后合并同类项,就可以得到一个可以递归算的式子了. 我们用\(S(n,k)\)表示答案,\(p\)表示模数(\(2333\)是一 ...
- 解决输入git branch 进入编辑状态,mac下出现END,无法返回
core.pager指定 Git 运行诸如log.diff等所使用的分页器,你能设置成用more或者任何你喜欢的分页器(默认用的是less), 当然你也可以什么都不用,设置空字符串: git conf ...
- git 命令 clone分支的代码
一个项目通常含有很多分支, master分支一般是经过测试,验证没有问题后,代码才会提交到master分支 develop分支,是测试经常拉下来进行测试的分支 直接复制develop分支的git 命令 ...
- WebAPI使用Token进行验证
1.需要用到的包 可以先敲代码 发现没有包在添加 2.在项目根目录下Web层添加“Startup”类 这个是Token的配置 3.在WebAPI层添加WebApiConfig类 也是Tok ...
- Flask-SQLAlchemy基本操作
db.session.rollback() 回滚"""Role.query.get(2) get查询接收的参数为主键,如果不存在,返回空 >>> Use ...
- Python全栈开发-Day11-RabbitMQ/Redis
本节内容 RabbitMQ——消息队列 Memcached & Redis使用 1.RabbitMQ——消息队列 RabbitMQ与Queue的关系 1.做的事情是一样的,两者都是队列. 2. ...