2018-10-27 22:44:33 c language】的更多相关文章

2018-10-27  22:44:33 c language 标准的C语言并不支持上面的二进制写法,只是有些编译器自己进行了扩展,才支持二进制数字.并不是所有的编译器都支持二进制数字,只有一部分编译器支持,并且跟编译器的版本有关系. 十六进制数字的表示用到了英文字母,有大小写之分,要在格式控制符中体现出来: 八进制数字和十进制数字不区分大小写,所以格式控制符都用小写形式.如果你比较叛逆,想使用大写形式,那么行为是未定义的, 输出二进制,八进制,十进制,十六进制的时候为了更好的区分你到底输入的进…
传送门 唉蒟蒻又退化了,这道sb题居然做了20min,最后发现是updcovupdcovupdcov写成了updaddupdaddupdadd我还能说什么233233233 就是让你转边权为点权之后,支持树上路径覆盖,单点覆盖,路径加,求路径最大. 直接乱码一发居然AAA了? 贴代码了(稍微有点长): #include<bits/stdc++.h> #define lc (p<<1) #define rc (p<<1|1) #define mid (T[p].l+T[p…
传送门 唉我觉得这题数据范围1e5都能做啊... 居然只出了2000 考完听zxyzxyzxy说我的贪心可以卡但过了? 可能今天本来是0+10+00+10+00+10+0只是运气好T1T1T1骗了100pts100pts100pts吧233. 下面讲讲贪心: 令wi=∏i=1kpiaiw_i=\prod_{i=1}^kp_i^{a_i}wi​=∏i=1k​piai​​ 令A=∑aipi是好质数,B=∑ai,pi是坏质数A=\sum_{a_i} p_i是好质数,B=\sum_{a_i},p_i是坏…
传送门 数位dpdpdp经典题. 题面已经暗示了我们按照二进制位来数位dpdpdp. 直接dpdpdp多少个数有111个111,222个111,333个111-, 然后快速幂算就行了. 于是我们枚举前几位跟nnn相同,后面比nnn小的方案数. 这个显然是可以用组合数算的. 注意nnn自己的也要算进贡献. 代码: #include<bits/stdc++.h> using namespace std; typedef long long ll; const int mod=10000007; l…
传送门 状压dp入门题. 按照题意建一个图. 要求的就是合法的链的总数. 直接f[i][j]f[i][j]f[i][j]表示当前状态为jjj,下一位要跟iii连起来的方案数. 然后从没被选并且跟iii连通的点转移就行了. 代码: #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=20; bool tran[N][N]; int n,K,up,s[N]; ll f[N][1<<…
传送门 g[i][j][k][l]g[i][j][k][l]g[i][j][k][l]表示将区间l,rl,rl,r变成最小值等于kkk,最大值等于lll时的花费的最优值. f[i][j]f[i][j]f[i][j]表示取掉区间l,rl,rl,r的最优值. 考虑ggg数组的转移. g[i][j+1][min(k,w[j+1])][max(l,w[i+1])]=min(g[i][j+1][min(k,w[j+1])][max(l,w[i+1])],g[i][j][k][l])g[i][j+1][mi…
传送门 显然的贪心题啊...考试没调出来10pts滚了妙的一啊 直接分别用堆贪心出洗完第iii件衣服需要的最少时间和晾完第iii件衣服需要的最少时间. 我们设第一个算出来的数组是aaa,第二个是bbb,然后令ccc数组是bbb的一个任意排列. 于是要求minminmin{maxmaxmax{a1+c1,a2+c2,...al+cla_1+c_1,a_2+c_2,...a_l+c_la1​+c1​,a2​+c2​,...al​+cl​}} 里面东西跟排序不等式很像啊 ,于是aaa正序bbb倒序加起…
[POI2015]LOG 维护一个长度为n的序列,一开始都是0,支持以下两种操作:1.U k a 将序列中第k个数修改为a.2.Z c s 在这个序列上,每次选出c个正数,并将它们都减去1,询问能否进行s次操作.每次询问独立,即每次询问不会对序列进行修改. n<=1e6 修改数值不好掌握.我们离线读入询问,把所有的s,a离散化下来. 发现,对于一个Z c s,我们只要判断能不能操作.所以只关心大小关系. 大于等于s的数可以在s次中都参与贡献,小于s的数只能部分参与贡献. 设cnt为不小于s的数的…
20%的数据直接暴搜就行,接下来我们考虑哪些数不能够出现在同一个集合中,就连一 条边,我们会发现前…
这道题可以推出\(O(1)\)的算法,但是实际上暴力模拟就可以过了. 代码(暴力模拟): #include<cstdio> #include<algorithm> #include<cmath> using namespace std; int T; double q,v,d,g,vh,t,vs,ans,eps=1e-8; int main() { scanf("%d",&T); while(T--) { scanf("%lf%lf…