<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[HelloACM_ICPC的博客]]></title><description><![CDATA[代码胜于雄辩。]]></description><link>https://blog.youkuaiyun.com/HelloACM_ICPC</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; HelloACM_ICPC]]></copyright><item><title><![CDATA[蓝桥杯第七届决赛真题JAVA大学C组]]></title><link>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/117295373</link><guid>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/117295373</guid><author>HelloACM_ICPC</author><pubDate>Wed, 26 May 2021 17:26:14 +0800</pubDate><description><![CDATA[蓝桥杯第七届决赛真题JAVA大学C组

#include &lt;iostream&gt;
#include &lt;cstdio&gt;

using namespace std;

bool vis[1005];

int main() {
	int ans = 0;
	for (int i = 0; i &lt;= 1000; i ++) {
		if (!vis[(i * i) % 100]) ans ++;
		vis[(i * i) % 100] = true;
	}
	cout &lt;&lt]]></description><category></category></item><item><title><![CDATA[蓝桥杯2016年第七届C++B组]]></title><link>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/117227697</link><guid>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/117227697</guid><author>HelloACM_ICPC</author><pubDate>Mon, 24 May 2021 18:48:09 +0800</pubDate><description><![CDATA[蓝桥杯2016年第七届C++B组


#include &lt;iostream&gt;
#include &lt;algorithm&gt;

using namespace std;

int main() {
	int ans = 600;
	for (int i = 0; i &lt;= 300; i ++) {
		for (int j = 0; j &lt;= 300; j ++) {
			if (i * 97 - j * 127 == 1) {
				ans = min(ans, i + ]]></description><category></category></item><item><title><![CDATA[第十届蓝桥杯大赛软件类决赛Java大学B组]]></title><link>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/116305615</link><guid>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/116305615</guid><author>HelloACM_ICPC</author><pubDate>Fri, 30 Apr 2021 16:49:09 +0800</pubDate><description><![CDATA[第十届蓝桥杯大赛软件类决赛Java大学B组

#include &lt;iostream&gt;
#include &lt;cstdio&gt;
#include &lt;string&gt;
#include &lt;cstring&gt;
#include &lt;algorithm&gt;

using namespace std;

int n = 30, m = 50;
char mp[55][55];
int cnt = 0;
//string str = "LANNQIAO";

string]]></description><category></category></item><item><title><![CDATA[ACM训练赛第19场补题]]></title><link>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/116029872</link><guid>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/116029872</guid><author>HelloACM_ICPC</author><pubDate>Thu, 22 Apr 2021 20:30:15 +0800</pubDate><description><![CDATA[ACM训练赛第19场补题
问题 A: At Least Average
时间限制: 1 Sec  内存限制: 128 MB
题目描述
Blake plays a video game that has n levels. On each level, she can earn in between 0 and 10 points, inclusive. The number of points she gets on a level must be an integer. She has set up a ]]></description><category></category></item><item><title><![CDATA[ACM训练赛第17场]]></title><link>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/115699533</link><guid>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/115699533</guid><author>HelloACM_ICPC</author><pubDate>Wed, 14 Apr 2021 16:32:47 +0800</pubDate><description><![CDATA[ACM训练赛第17场
问题 A: Bing Bong to Bong Bong
时间限制: 2 Sec  内存限制: 128 MB
题目描述
Bing Bong, the pink imaginary friend from Riley’s childhood, is lonely.He wants to preserve his memory, but he wants to try to hide his name in the stories. He wants you to help him do ]]></description><category></category></item><item><title><![CDATA[ACM训练赛第16场]]></title><link>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/115627455</link><guid>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/115627455</guid><author>HelloACM_ICPC</author><pubDate>Mon, 12 Apr 2021 17:36:58 +0800</pubDate><description><![CDATA[ACM训练赛第16场
问题 F: Exam Manipulation
时间限制: 1 Sec  内存限制: 128 MB
题目描述
A group of students is taking a True/False exam. Each question is worth one point. You, as their teacher, want to make your students look as good as possible—so you cheat! (I know, you would]]></description><category></category></item><item><title><![CDATA[Linux环境下输出Hello World]]></title><link>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/115402606</link><guid>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/115402606</guid><author>HelloACM_ICPC</author><pubDate>Fri, 02 Apr 2021 17:05:05 +0800</pubDate><description><![CDATA[Linux环境下输出Hello World
进入home目录
cd /home

创建C++目录
mkdir C++

进入C++目录下
cd C++

创建C语言文件
touch HelloWorld.c

编辑C语言文件
vim HelloWorld.c

进入后按键盘上的i进入insert模式
敲入C语言代码

按住Esc键退出写入模式
保存退出命令
:wq

生成可执行文件
gcc HelloWorld.c -o HelloWorld

运行HelloWorld文件
./HelloWorld



]]></description><category></category></item><item><title><![CDATA[贪心]]></title><link>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/115383907</link><guid>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/115383907</guid><author>HelloACM_ICPC</author><pubDate>Thu, 01 Apr 2021 20:44:13 +0800</pubDate><description><![CDATA[贪心

import java.util.Scanner;

public class Main {
	
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		int[] a = new int[n + 5];
		for (int i = 0; i &lt; n; i ++) {
			a[i] = in.nextInt();
		}
		int ]]></description><category></category></item><item><title><![CDATA[双指针与BFS]]></title><link>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/115358349</link><guid>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/115358349</guid><author>HelloACM_ICPC</author><pubDate>Wed, 31 Mar 2021 19:25:28 +0800</pubDate><description><![CDATA[双指针与BFS

import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
import java.util.Comparator;

public class Main {
	
	static int[] cnt = new int[100000 + 5];
	static boolean[] st = new boolean[100000 + 5];
	
	public static void ]]></description><category></category></item><item><title><![CDATA[枚举、模拟与排序]]></title><link>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/115256491</link><guid>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/115256491</guid><author>HelloACM_ICPC</author><pubDate>Fri, 26 Mar 2021 22:19:03 +0800</pubDate><description><![CDATA[枚举、模拟与排序

import java.util.Scanner;

public class Main {
	
	static int INF = 0x3f3f3f3f;
	
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		int[] a = new int[n + 5];
		for (int i = 0; i &lt; n; i ++]]></description><category></category></item><item><title><![CDATA[数学与简单DP]]></title><link>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/115187166</link><guid>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/115187166</guid><author>HelloACM_ICPC</author><pubDate>Wed, 24 Mar 2021 20:56:58 +0800</pubDate><description><![CDATA[数学与简单DP

import java.util.Scanner;

public class Main {
	
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		int m = in.nextInt();
		System.out.println(n * m - n - m);
	}

}


import java.util.Scanner]]></description><category></category></item><item><title><![CDATA[二分与前缀和]]></title><link>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/115137356</link><guid>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/115137356</guid><author>HelloACM_ICPC</author><pubDate>Tue, 23 Mar 2021 19:25:03 +0800</pubDate><description><![CDATA[二分与前缀和

import java.util.Scanner;

public class Main {
	
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		int q = in.nextInt();
		int[] a = new int[n + 5];
		for (int i = 0; i &lt; n; i ++) {
			a[i]]></description><category></category></item><item><title><![CDATA[递归与递推]]></title><link>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/115084021</link><guid>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/115084021</guid><author>HelloACM_ICPC</author><pubDate>Mon, 22 Mar 2021 16:40:02 +0800</pubDate><description><![CDATA[递归与递推

import java.util.Scanner;

public class Main {
	
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		for (int i = 0; i &lt; 1 &lt;&lt; n; i ++) {
			for (int j = 0; j &lt; n; j ++) {
				if ((i ]]></description><category></category></item><item><title><![CDATA[蓝桥杯 九宫重排]]></title><link>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/109549557</link><guid>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/109549557</guid><author>HelloACM_ICPC</author><pubDate>Sat, 07 Nov 2020 17:14:58 +0800</pubDate><description><![CDATA[蓝桥杯 九宫重排



C++
#include &lt;iostream&gt;
#include &lt;cstdio&gt;
#include &lt;string&gt; 
#include &lt;cstring&gt;
#include &lt;algorithm&gt;
#include &lt;queue&gt;

using namespace std;
int dx[] = {1, -1, 0, 0};
int dy[] = {0, 0, 1, -1};
int factor[] = {]]></description><category></category></item><item><title><![CDATA[区间dp模板 石子合并]]></title><link>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/109427697</link><guid>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/109427697</guid><author>HelloACM_ICPC</author><pubDate>Sun, 01 Nov 2020 15:22:26 +0800</pubDate><description><![CDATA[石子合并
设有N堆石子排成一排，其编号为1，2，3，…，N。
每堆石子有一定的质量，可以用一个整数来描述，现在要将这N堆石子合并成为一堆。
每次只能合并相邻的两堆，合并的代价为这两堆石子的质量之和，合并后与这两堆石子相邻的石子将和新堆相邻，合并时由于选择的顺序不同，合并的总代价也不相同。
例如有4堆石子分别为 1 3 5 2， 我们可以先合并1、2堆，代价为4，得到4 5 2， 又合并 1，2堆，代价为9，得到9 2 ，再合并得到11，总代价为4+9+11=24；
如果第二步是先合并2，3堆，则代价为7，得]]></description><category></category></item><item><title><![CDATA[01背包优先队列优化]]></title><link>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/109406519</link><guid>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/109406519</guid><author>HelloACM_ICPC</author><pubDate>Sat, 31 Oct 2020 19:17:11 +0800</pubDate><description><![CDATA[01背包优先队列优化


设重量为w，权值为v
则单位重量价值为v / w
设有物品1，物品2
若v1 / w1 &lt; v2 / w2
则说明v2的单位重量价值高
即v1 * w2 &lt; v2 * w1
于是可重载结构体，使得v2 * w1大的优先级高
即：
struct Node {
	LL w, v;
	Node() {};
	Node(LL _w, LL _v) {w = _w, v = _v;}
	friend bool operator &lt; (Node a, Node b) {
		]]></description><category></category></item><item><title><![CDATA[Java函数判定大素数]]></title><link>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/109338312</link><guid>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/109338312</guid><author>HelloACM_ICPC</author><pubDate>Wed, 28 Oct 2020 17:30:05 +0800</pubDate><description><![CDATA[Java函数判定大素数
import java.math.BigInteger;
import java.util.Scanner;

public class Main {
	
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		BigInteger x;
		while(in.hasNextBigInteger()) {
			x = in.nextBigInteger();
			if(x]]></description><category></category></item><item><title><![CDATA[SPFA最短路Java模板]]></title><link>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/109103224</link><guid>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/109103224</guid><author>HelloACM_ICPC</author><pubDate>Thu, 15 Oct 2020 19:01:06 +0800</pubDate><description><![CDATA[SPFA最短路Java模板
import java.util.LinkedList;
import java.util.Queue;

public class Main {
	
	public static void main(String[] args) {
		
	}
	
	static int MAXN = 10000 + 10;
	static int[] head = new int[MAXN];
	static int[] nxt = new int[MAXN &lt;&lt; 1];
	st]]></description><category></category></item><item><title><![CDATA[ST表]]></title><link>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/109046040</link><guid>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/109046040</guid><author>HelloACM_ICPC</author><pubDate>Tue, 13 Oct 2020 10:27:02 +0800</pubDate><description><![CDATA[ST表模板
ST表求区间最大值模板
import java.util.Scanner;

public class Main {
	
	public static void main(String[] args) {
		
		Scanner in = new Scanner(System.in);
		int T = in.nextInt();
		while(T -- &gt; 0) {
			int n = in.nextInt();
			num = new int[100000 + 10][20]]]></description><category></category></item><item><title><![CDATA[二进制枚举]]></title><link>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/108976659</link><guid>https://blog.youkuaiyun.com/HelloACM_ICPC/article/details/108976659</guid><author>HelloACM_ICPC</author><pubDate>Fri, 09 Oct 2020 13:07:02 +0800</pubDate><description><![CDATA[二进制枚举
ACM中二进制枚举C++1秒大约能枚举22位，
for循环不能跑太多，
加上子层循环和判断，所以一般范围大概就是在22左右。
int i = 0; i &lt; 1 &lt;&lt; 22
1 &lt;&lt; 30是1e9

超过int类型需要转换为long long类型
1ll &lt;&lt; 30
1ll &lt;&lt; 60

二进制枚举范围为0到2^n - 1。
例题

import java.util.Scanner;

public class Main {
	
	// 15个]]></description><category></category></item></channel></rss>