Sure! Here is a Python function to generate random test cases for the given problem statement:

```python
import random

def tcgen():
    # Constraints
    N = random.randint(1, 300000)
    L = random.randint(1, 10**9)
    
    # Generate sorted coordinates for shopping centres
    x = sorted(random.sample(range(1, L), N))
    
    # Generate shopping times for each shopping centre
    t = [random.randint(1, 10**9) for _ in range(N)]
    
    return N, L, x, t

# To print a test case
if __name__ == "__main__":
    N, L, x, t = tcgen()
    print(N, L)
    print(" ".join(map(str, x)))
    print(" ".join(map(str, t)))
```

This function generates random test cases within the given constraints:

1. \(N\) is a random integer between 1 and 300,000.
2. \(L\) is a random integer between 1 and \(10^9\).
3. The list \(x\) contains \(N\) unique integers sorted in increasing order, each between 1 and \(L-1\).
4. The list \(t\) contains \(N\) random integers between 1 and \(10^9\).

You can run the `tcgen()` function to generate a new test case each time. The values will be printed in the format specified in the problem statement.