while (~scanf("%d%d",&n,&m))等效于 while (scanf("%d%d",&n,&m)!=EOF) ~是按位取反 scanf的返回值是输入值的个数 如果没有输入值就是返回-1 -1按位取反结果是0 while(~scanf("%d", &n))就是当没有输入的时候退出循 ...
分类:
其他好文 时间:
2020-11-07 16:53:21
阅读次数:
33
Codeforces Round #681 D 大意 给定一个长度为n的序列,每次可以将$A_1,...,A_k$或者$A_m,...,A_n$中的数减一,其中$k,m$是自己选择的数。 问,是否能通过任意次操作,让数列每一项都为0。 思路 可以证明,如果一种情况为可行解,当且仅当可以通过任意操作将 ...
分类:
其他好文 时间:
2020-11-07 16:50:50
阅读次数:
24
int factorial(int n){ int ret=1; while(n) ret*=n--; return ret; } int paintingPlan(int n, int k){ if (k==0 || k==n*n) return 1; int blank=n*n-k,ret=0, ...
分类:
其他好文 时间:
2020-11-07 16:12:37
阅读次数:
18
Go语言中for的三种写法: 第一种写法:就是直接for,所有的条件判断逻辑都写在中,自己根据条件控制break逻辑 第二种写法:for后面只跟一个条件判断语句,满足则继续循环,其它的逻辑写在中,这种写法和C中的while很像 第三种写法:和其它的语言就比较像,初始化,条件, 逻辑 注:GO语言中循 ...
分类:
编程语言 时间:
2020-11-07 16:06:53
阅读次数:
27
int Fun(int x){ int res=0; while (x) res+=x&1,x>>=1; return res; } int Mycmp(const void* a,const void* b){ return (Fun(*(int*)a) - Fun(*(int*)b))? Fun ...
分类:
编程语言 时间:
2020-11-07 15:46:24
阅读次数:
19
当前缀和进阶到二维数组时,就需要进行一些想象,假设有个矩阵,水平方向向右时x轴的正方向,竖直方向向下是y轴正方向,如此若要表示以下x1,y1和x2,y2(默认x2,y2分别大于x1,y1)两个点间的数字之和,则可以先将原点到x2,y2的数字之和减去原点到x1-1,x2的数字之和再减去原点到x2,y1 ...
分类:
其他好文 时间:
2020-11-06 02:30:57
阅读次数:
21
Go语言流程控制语句 Go语言中最常用的流程控制语句有 if 和 for ,没有像Python中的while语句。另外,Go语言还有switch和goto语句,不过这两个主要是用来简化代码的,属于扩展类的流程控制,使用率没有if和for多。 if语句 if语句的基本格式 if 表达式1 { 分支1 ...
分类:
编程语言 时间:
2020-11-06 02:18:48
阅读次数:
23
题面 t 组数据。 给定参数 p,q,求一个最大的 x,满足 \((x|p)∧(q?x)\)。 $1\le t \le 500$,$1\le p \le10^{18}$,$2\le q\le10^9$, $1S$,$512MB$。 思路 当 \(p < q\) 时 或 \(q?p\),答案显然是 \ ...
分类:
其他好文 时间:
2020-11-06 01:36:59
阅读次数:
15
取一组数据的最大值和最小值:(实验课第一题给我整傻了)先定义两个变量max,min,注意,这是变量而不是函数,所以在后面用的时候只起到了一个比较的作用。例如if(c>max)max=c.就是将这组数据的每一个数据与max比较,取较大的那一个。#include<stdio.h>intmain(){inta,b,c,max,min;while(scanf("%d"
分类:
其他好文 时间:
2020-11-06 01:32:35
阅读次数:
18
链接 : http://codeforces.com/problemset/problem/1443/C 标签 : binary search greedy sorting *1400 二分答案 AC代码 #include <bits/stdc++.h> using namespace std; # ...
分类:
其他好文 时间:
2020-11-06 01:18:03
阅读次数:
19