CF472F Design Tutorial: Change the Goal
Description
There are some tasks which have the following structure: you are given a model, and you can do some operations, you should use these operations to achive the goal. One way to create a new task is to use the same model and same operations, but change the goal.
Let's have a try. I have created the following task for Topcoder SRM 557 Div1-Hard: you are given $ n $ integers $ x_{1},x_{2},...,x_{n} $ . You are allowed to perform the assignments (as many as you want) of the following form $ x_{i} $ ^= $ x_{j} $ (in the original task $ i $ and $ j $ must be different, but in this task we allow $ i $ to equal $ j $ ). The goal is to maximize the sum of all $ x_{i} $ .
Now we just change the goal. You are also given $ n $ integers $ y_{1},y_{2},...,y_{n} $ . You should make $ x_{1},x_{2},...,x_{n} $ exactly equal to $ y_{1},y_{2},...,y_{n} $ . In other words, for each $ i $ number $ x_{i} $ should be equal to $ y_{i} $ .
Input Format
There are some tasks which have the following structure: you are given a model, and you can do some operations, you should use these operations to achive the goal. One way to create a new task is to use the same model and same operations, but change the goal.
Let's have a try. I have created the following task for Topcoder SRM 557 Div1-Hard: you are given $ n $ integers $ x_{1},x_{2},...,x_{n} $ . You are allowed to perform the assignments (as many as you want) of the following form $ x_{i} $ ^= $ x_{j} $ (in the original task $ i $ and $ j $ must be different, but in this task we allow $ i $ to equal $ j $ ). The goal is to maximize the sum of all $ x_{i} $ .
Now we just change the goal. You are also given $ n $ integers $ y_{1},y_{2},...,y_{n} $ . You should make $ x_{1},x_{2},...,x_{n} $ exactly equal to $ y_{1},y_{2},...,y_{n} $ . In other words, for each $ i $ number $ x_{i} $ should be equal to $ y_{i} $ .
Output Format
There are some tasks which have the following structure: you are given a model, and you can do some operations, you should use these operations to achive the goal. One way to create a new task is to use the same model and same operations, but change the goal.
Let's have a try. I have created the following task for Topcoder SRM 557 Div1-Hard: you are given $ n $ integers $ x_{1},x_{2},...,x_{n} $ . You are allowed to perform the assignments (as many as you want) of the following form $ x_{i} $ ^= $ x_{j} $ (in the original task $ i $ and $ j $ must be different, but in this task we allow $ i $ to equal $ j $ ). The goal is to maximize the sum of all $ x_{i} $ .
Now we just change the goal. You are also given $ n $ integers $ y_{1},y_{2},...,y_{n} $ . You should make $ x_{1},x_{2},...,x_{n} $ exactly equal to $ y_{1},y_{2},...,y_{n} $ . In other words, for each $ i $ number $ x_{i} $ should be equal to $ y_{i} $ .
Explanation/Hint
Assignment $ a $ ^= $ b $ denotes assignment $ a $ = $ a $ ^ $ b $ , where operation "^" is bitwise XOR of two integers.