HZOI20190816模拟23 mine/water/gcd】的更多相关文章

A:mine 只是一个简单的dp....是博主太蒻了... 设f[i][j],表示到第i位,状态是j的方案数,其中$j\in[0,5]$ j==0表示填0,j==1表示填1,且i-1位是雷; j==2表示填2,j==3表示填雷,j==5表示填1,且i-1位不是雷 思考一下,得到方程: $f[i][4]=f[i-1][3]$            $f[i][1]=f[i-1][4]+f[i-1][0]$ $f[i][3]=f[i-1][1]+f[i-1][2]+f[i-1][3]$      …
mine 题解 一道比较水的dp 考试因为初始化挂掉了只有$80$分 代码有注释 #include<bits/stdc++.h> using namespace std; //无脑dp #define ll long long #define A 2222222 const ll mod=1e9+7; //设f[x][5][2]为当前是第x个格子,当前填什么 0前面填1后面填 ll f[A][5][2]; //0表示0雷,1表示一个雷 2表示两个雷 3* ll n,ans=0; char ch…
\(noip模拟23\;solutions\) 怎么说呢??这个考试考得是非常的惨烈,一共拿了70分,为啥呢 因为我第一题和第三题爆零了,然后第二题拿到了70分,还是贪心的分数 第一题和第二题我调了好久,hhhh 害,害,害,害 · \(T1\;联\) 据出题人说,这是个线段树裸题,啊啊啊,我看到1e5的时候也觉得这是个简单的线段树 后来看到1e18我就溜走了,后来回来看,发现这个可以\(O(n^2)\)链表做 打对了1,2操作,忘记换行了0分,应该是30分 这个题说白了就是利用线段树维护值,不…
因为考试过多,所以学校的博客就暂时咕掉了,放到家里来写 不过话说,vscode的markdown编辑器还是真的很好用 先把 \(noip\) 模拟 \(23\) 的总结写了吧.. 俗话说:"连胜之后必是连败,连败之后必是连胜". 经过之前连续五场比赛的挂分,终于回来了一点点... 菜我还是... 咱也不知道当时的零分是怎么考出来的.... \(\color{green}{\huge{\text{菜}}}\) ........ 好吧...... 每次考爆炸的时候在赛后总会发现自己的题目还…
中间鸽了好几篇啊QAQ……有时间再补吧…… A.mine sbdp,考场上写的巨麻烦不过还是能A的(虽然MLE了……每一维都少开1就A掉了555).设$dp[i][j][k]$为枚举到第i位,第i位是j,第i-1位是k的方案数.j和k都是0-3的整数,分别代表有前后几个雷/就是雷. 然后大力分类讨论即可 #include<cstdio> #include<iostream> #include<cstring> using namespace std; ; typedef…
King's Cake Accepts: 967 Submissions: 1572 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Problem Description It is the king's birthday before the military parade . The ministers prepared a rectangle cake of size n×m…
2.梅花桩   (blossom.pas/c/cpp) [问题描述] 小x在练习一门轻功,这门轻功是在梅花桩上跳来跳去,这门轻功是严格按照直线从一个梅花桩直接跳到另外一个梅花桩上.因为小x有恐高症,所以除了开始和结束的两个梅花桩,这条直线上不能有其他梅花桩,否则小x会真气中断,直接掉下来. 小x的梅花桩有W+1行,H+1列,每个梅花桩之间距离都是1米,严格按照上下左右排列,小x的轻功最少能跳L1米,最多能跳L2米. 作为一位爱思考的数学青年,小x想到了一个问题:有多少对梅花桩对小x来说是安全的,…
曾经有一段真挚的AK摆在skyh面前,但他一直意淫自己AK导致没有AK. 如果非要把这AK加一个期限的话,skyh一辈子都AK不了了. 论爆零选手的爆零原因 我说T3想到了能AC的思路但是爆零了有人同情吗? ;j<=p&&i*prime[j]<maxm;++j){ isnot[i*prime[j]]=; ){//qaq mu[i*prime[j]]=; break; } else mu[i*prime[j]]=-mu[i]; } 欧拉筛打爆 //上边是绞尽脑汁写的dp ][]+…
/* 矩阵乘法+快速幂. 一开始迷之题意.. 这个gcd有个规律. a b b c=a*x+b(x为常数). 然后要使b+c最小的话. 那x就等于1咯. 那么问题转化为求 a b b a+b 就是斐波那契了.... */ #include<iostream> #include<cstdio> #define MAXN 3 #define LL long long #define mod 1000000007 using namespace std; LL n; LL a[MAXN]…
题目大意: 求l~r中有多少数与x互质,带单点修改 分析: 两个30的部分分很好打: ·n<=1000暴力O(nq)就好了 ·$a_i<=100$用树状数组维护每个x的前缀和就好了 100分做法有两种,一种是莫比乌斯反演(我不会),还有一种就是bitset乱搞 我们先筛法筛出所有质数(大概不到10000个)然后对于每个质数建立一个bitset,表示对于第i个数在有第j个质数这个质因子 求有多少数与x互质转换为有多少数与x不互质就好了 对于每次询问把所有x的质因子找出来然后把这些数的bitset…
题解 这道题不难想到用dp来做 dp[i][0]表示第i个格子放0 dp[i][1]表示第i个格子放1且第i-1个格子放雷 dp[i][2]表示第i个格子放2 dp[i][3]表示第i个格子放1且第i+1个格子放雷 dp[i][4]表示第i个格子放雷 然后就是转移了 不难发现 上一层的0,1能推到这一层的0 上一层的4推到1 上一层的4推到2 0,1推到3 2,3,4推到4 如果当前格子是?,那么上面的情况就需要都考虑 最后是初始化 我们可以发现第0层只能放0和3,其他是不能放的 #includ…
题目描述 有一个$1$维的扫雷游戏,每个格子用$*$表示有雷,用$0/1/2$表示无雷并且相邻格子中有$0/1/2$个雷.给定一个仅包含$?$.$*$.$0$.$1$.$2$的字符串$s$,问有多少种方法将所有的$?$改为$*/0/1/2$使其合法. 输入格式 一行一个字符$s$. 输出格式 一行一个整数表示答案,对${10}^9+7$取模. 样例 样例输入: ?1? 样例输出: 数据范围与提示 对于$30\%$的数据,$|S|\leqslant 20$.对于$60\%$的数据,$|S|\leq…
题解 \(by\;zj\varphi\) 考虑 \(\rm DP\) 设 \(dp_{k}(S)\) 表示前 \(k\) 个人来后 \(S\) 集合中的苹果都存在的概率是否大于 \(0\) 考虑倒着转移 \(\alpha.u_i,v_i\in S\) \(\beta.u_i\in S,f_k(S\cup\{u_i\})=f_{k+1}(S)\) \(\gamma.v_i\in S,f_k(S\cup\{v_i\})=f_{k+1}(S)\) \(\delta.ui,vi∉S,f_k(S)=f_{…
题解 将所有物品分成四类,分别为两人共同喜欢的,只有一人喜欢的,没人喜欢的. 首先,先从两人共同喜欢的物品里找出 \(k\) 个,这时,就要从剩余的找出 \(\rm m-k\) 个,而且是最小的. 用一棵权值线段树维护,因为值域太大,所以离散化或动态开点. 之后,指向共同喜欢的物品数量的指针递减,直至 \(0\) 同时增加选取其它物品的量,删除选了的,加上没选的. 因为指针单调递减,所以复杂度为 \(\mathcal O\rm (nlogn)\) Code #include<bits/stdc+…
题解 \(by\;zj\varphi\) 区间上的问题,一般都用线段树来解决(但是这题也可以用 \(\rm ODT\)) 对于每段段区间设置三个参数,分别表示这个区间是否只有 \(1\) 或 \(0\),如果有 \(0\) 有 \(1\) 则为 \(-1\),懒标记,第一个 \(0\) 出现的位置. 设置这三个参数后直接 \(up\) 即可,处理好细节,注意离散化 Code #include<bits/stdc++.h> #define ri register signed #define p…
传送门 POUR1 - Pouring water #gcd #recursion Given two vessels, one of which can accommodate a litres of water and the other - b litres of water, determine the number of steps required to obtain exactly c litres of water in one of the vessels. At the be…
模拟21确实毒瘤...考场上硬刚T3 2.5h,成功爆零 T1.数论 看这题目就让人不想做,考场上我比较明智的打完暴力就弃掉了,没有打很久的表然后找规律. 正解貌似是乱搞,我们考虑一个比较显然的结论: 对于一个质数 p,我们考虑所有仅包含小于 p 的质因子的正整数集 G.不难发现: • 若 x ∈ G,且在 G 中已经有超过 K 个小于 x 的整数约数个数多于 x,即 x 一定不是良好的, 则 xp^c (c ≥ 0) 也一定不可能是良好的. 于是我们可以利用已知的良好的数筛出接下来“可能良好”…
题目:戳这里 题意:选出三个点构成三角形,要求面积为n*m/k. 解题思路:因为三个点的坐标都是正整数,根据三角形面积公式(x1*(y2-y3)+x2*(y3-y1)+x3*(y1-y2))/2=n*m/k可知,若三角形存在,则2*n*m/k必为整数.若面积*2为整数,则把该三角形放置在x轴上即可.于是设x1=0,y1=0,x2=a,y2=0,x3=0,y3=b;求a*b=2*n*m/k.(0<=a<=n,0<=b<=m) 欲找到满足条件,可以利用最大公约数.若gcd(2*n,k)…
T1 玩水 成功在考试的时候注释掉正解,换成了暴力,只因为不敢保证正解思路的正确 脑子瓦特了,不知道把暴力打成函数拼在一起,不知道当时咋想的.... 就是你找有没有一个点上面和左面的字符一样, 如果这两个点有相邻关系或者包含关系就有解(包含关系是说一个点在另一个点的右下,不在同一行一列) 1 #include<bits/stdc++.h> 2 #define int long long 3 typedef unsigned long long ULL; 4 using namespace st…
多线程概念详解 什么是进程? 简单的说进程就是我们电脑上运行的一个个应用程序,每一个程序就是一个进程,并且每个进程之间是独立的,每个进程运行在其专用受保护的内存空间内(window系统可以通过任务管理器进行查看,Mac系统中可以通过活动监视器对其进行查看) 什么是线程? 通过上面的介绍我们知道了什么是进程,那么如何让进程运行起来,这个时候就要有线程了,也就是说每个应用程序想要跑起来,最少也要有一条线程存在,其实应用程序启动的时候我们的系统就会默认帮我们的应用程序开启一条线程,这条线程也叫做'主线…
因为这几天要加油,懒得每篇都来写题解了,就这里记录一下加上一句话题解好了 P4071 [SDOI2016]排列计数   组合数+错排 loj 6217 扑克牌 暴力背包 P2511 [HAOI2008]木棍分割 第一问二分,第二问记$dp[i][j]$为前$i$根砍$j$刀的方案,那么它可以由所有$sum[i]-sum[k]<=ans1$的$k$转移而来,用滚动数组优化空间,用队列的形式优化转移 P1410 子序列 贪心能过(数据水).dp的话,考虑$f[i][j]$表示前面$i$个数的最长上升…
相关文章链接: 1.多线程简介 2.实现多线程的3种方法 ......待续 前言 在多线程简介中,我已经说明过了,为了提高界面的流畅度以及用户体验.我们务必要把耗时的操作放到别的线程中去执行,千万不要阻塞主线程. iOS中有以下3种多线程编程方法: NSThread Grand Centeral Dispatch(GCD) NSOperation和NSOperationQueue 1.NSThread 这是最轻量级的多线程的方法,使用起来最直观的多线程编程方法.但是因为需要自己管理线程的生命周期…
前言 在多线程简介中,我已经说明过了,为了提高界面的流畅度以及用户体验.我们务必要把耗时的操作放到别的线程中去执行,千万不要阻塞主线程.iOS中有以下3种多线程编程方法: NSThread Grand Centeral Dispatch(GCD) NSOperation和NSOperationQueue 1.NSThread 这是最轻量级的多线程的方法,使用起来最直观的多线程编程方法.但是因为需要自己管理线程的生命周期,线程同步.经常使用NSThread进行调试,在实际项目中不推荐使用. //获…
1. 字符串转成numpy.datetime64格式 import numpy as np #将字符串转换成numpy格式时间 #注意个位前补0,如1月写成01 nd=np.datetime64('2019-01-10') nd np.datetime64('1901') 2. numpy.datetime64转成字符串格式 #转化为字符串 np.datetime_as_string(nd) 3.  np.arange生成时间序列 #生成时间序列 #默认以日为间隔,算头不算尾 np.arange…
题目描述 有n个整数,其中第i个数为Ai.这些数字的gcd为1.两人轮流操作,每次操作把一个大于1的数减1,并把所有数除以所有数的最大公约数,最后无法操作者输,求是否先手必胜. 如果当前的sum为偶数,那么减一之后sum变为奇数,gcd必为奇数,而任意数除一个奇数后奇偶性不变,故这步走完后sum必然为奇数. 如果当前的sum为奇数,减一之后sum变为偶数,如果当前全为偶数,那么除完gcd后奇偶不一定,否则sum依然为偶数. 当局面全为1的时候先手必败,此时的奇偶为$n%2$,考虑先手怎样控制局面…
E - Biorhythms Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I64u Submit Status Description Some people believe that there are three cycles in a person's life that start the day he or she is born. These three cycles are the…
题目大意: 一个正整数K,给出K Mod一些质数的结果,求符合条件的最小的K.例如,K%2=1,K%3=2,K%5=3符合条件的最小的K=23. Input 第1行:1个数N表示后面输入的质数及模的数量.(2 <= N <= 10) 第2 - N + 1行,每行2个数P和M,中间用空格分隔,P是质数,M是K % P的结果.(2 <= P <= 100, 0 <= K < P) Output 输出符合条件的最小的K.数据中所有K均小于10^9. Input示例 3 2 1…
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 给出一个A/B-C/D表示的分数减法算式,A,B,C,D均为不超过32767的正整数,求A/B-C/D的差,若差为整数,则输出这个整数:若差为分数,则按A/B格式输出:要求为最简分数,若差为负数,则在上述要求下最前面添加负号. 输入中A/B或C/D有可能不是最简分数,但是你的输出必须是最简分数. [输入格式] 输入文件aminusb.in的第1行为一个正整数T,表示数据组数, 接下来T行,每行为按A…
Shel脚本-初步入门-06 Shell 脚本的建立和执行 6.Shell 脚本的建立和执行 6.1 Shell脚本的建立 在 Linux 系统中,Shell 脚本(bash Shell 程序)通常是在编辑器 vi/vim 中编写的.推荐使用 vim 编辑器来编写. 事先做一个别名 alias vi='vim',使其永久生效,方法如下: echo "alias vi='vim'" >>/etc/profile tail -1 /etc/profile source /etc…
2019 Multi-University Training Contest 3 http://acm.hdu.edu.cn/contests/contest_show.php?cid=850 1004. Distribution of books 考虑二分答案,设当前二分出来的是\(x\). 设\(f_i\)表示前\(i\)个能分成最多的段数,使得每一段和都\(\leqslant x\). 转移显然,枚举一个\(j\),若\(s_i-s_j\leqslant x\)则转移,\(s_i\)表示前…